1、自增字段必须唯一(UNIQUE),可以是主键或者UNIQUE修饰
2、一个表只能有一个主键或者联合主键
现有的数据库如下:
CREATE TABLE `questionnaire_form` (
`id` bigint(20) NOT NULL,
`tenant_id` varchar(36) NOT NULL COMMENT '租户id',
`questionnaire_id` varchar(36) NOT NULL COMMENT '问卷模板唯一标识',
`name` varchar(255) NOT NULL COMMENT '问卷名称',
`describe` text COMMENT '问卷描述',
`user_id` varchar(36) NOT NULL COMMENT '用户id',
`status` tinyint(1) NOT NULL COMMENT '状态 0:未投放,1:投放中,2:已回收',
`crt_time` datetime DEFAULT NULL,
`upd_time` datetime DEFAULT NULL,
`crt_user_id` varchar(36) DEFAULT NULL,
`upd_user_id` varchar(36) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_key` (`questionnaire_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='questionnaire_form 问卷表,用于初始化问卷'
现在需要往里边增加一个字段并设置其自增:
#### 设置主键自增初始值
ALTER TABLE `questionnaire_form` AUTO_INCREMENT=00001;
### 添加字段storeNo
ALTER TABLE `questionnaire_form` ADD COLUMN storeNo BIGINT(5) UNSIGNED ZEROFILL UNIQUE AUTO_INCREMENT NOT NULL ;
完成!
附一些常用的的alter:
###删除主建自增,后一个id是主键名
ALTER TABLE `questionnaire_form` CHANGE id id BIGINT(20);
###删除主建
ALTER TABLE `questionnaire_form` DROP PRIMARY KEY;
#### 添加复合主键
#### ALTER TABLE `questionnaire_form` ADD PRIMARY KEY(id,storeNo);