<insert id="addSmsTemplate" parameterType="com.psbc.pcps.credit.integral.marketing.api.mode I.SmsTemplateDTO"useGeneratedKeys="true"> insert into tb credit sms template( seq no,template id,push plan tp cdtemplate nametemplate cont ent,creator nocreate time,modifier nomod timeopror instno ) values( #{segNo},#{templateld},#{pushPlanTpCd},#{templateName},#{templateContent},#{creatorNo},#{createTime},#{modifierNo},#{modTime},#{oprorlnstNo} ) </insert>新增templateid自增功能怎么写
时间: 2024-02-17 13:01:14 浏览: 84
如果你使用的是 MySQL 数据库,可以在 `tb_credit_sms_template` 表的 `template_id` 字段上添加 `AUTO_INCREMENT` 属性,使其自增,修改后的表结构如下:
```sql
CREATE TABLE `tb_credit_sms_template` (
`seq_no` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号',
`template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '模板ID',
`push_plan_tp_cd` varchar(32) NOT NULL COMMENT '推送计划类型代码',
`template_name` varchar(128) NOT NULL COMMENT '模板名称',
`template_content` varchar(512) NOT NULL COMMENT '模板内容',
`creator_no` varchar(32) NOT NULL COMMENT '创建人编号',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modifier_no` varchar(32) DEFAULT NULL COMMENT '修改人编号',
`mod_time` datetime DEFAULT NULL COMMENT '修改时间',
`oprorlnst_no` varchar(32) NOT NULL COMMENT '操作机构编号',
PRIMARY KEY (`seq_no`),
UNIQUE KEY `uk_template_id` (`template_id`),
KEY `idx_creator_no` (`creator_no`),
KEY `idx_oprorlnst_no` (`oprorlnst_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分营销短信模板表';
```
在 `insert` 语句中插入数据时,不需要再插入 `template_id` 字段的值,因为它会自动递增。修改后的 `insert` 语句如下:
```xml
<insert id="addSmsTemplate" parameterType="com.psbc.pcps.credit.integral.marketing.api.mode I.SmsTemplateDTO" useGeneratedKeys="true">
insert into tb_credit_sms_template
(seq_no, push_plan_tp_cd, template_name, template_content, creator_no, create_time, modifier_no, mod_time, oprorlnst_no)
values
(#{segNo}, #{pushPlanTpCd}, #{templateName}, #{templateContent}, #{creatorNo}, #{createTime}, #{modifierNo}, #{modTime}, #{oprorlnstNo})
</insert>
```
这样,每次执行 `addSmsTemplate` 语句时,`template_id` 字段的值都会自动递增,无需手动输入。
阅读全文