修改表的主键

这个例子是工作中遇到的: 把原先的自增主键id去掉,新增auto_pk字段为自增主键,并把id作为唯一索引。

ALTER TABLE `ddd_tab`

ADD COLUMN `auto_pk`  bigint(20) UNSIGNED NOT NULL FIRST ,
MODIFY COLUMN `id`  bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT AFTER `auto_pk`; -- 新建auto_pk,id主键为无符号
--update ad set auto_pk = id;  -- 赋值
ALTER TABLE `ddd_tab`
MODIFY COLUMN `auto_pk`  bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,
MODIFY COLUMN `id`  bigint(20) UNSIGNED NOT NULL AFTER `auto_pk`,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`auto_pk`),
ADD UNIQUE INDEX `idx_uk_id` (`id`) ; -- id去掉自增主键改为UK,auto_pk改为自增主键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值