1. 程式人生 > >修改表的主鍵

修改表的主鍵

這個例子是工作中遇到的: 把原先的自增主鍵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改為自增主鍵