MySQL:重命名主键

时间:2014-03-10 07:36:11

标签: mysql

在mysql中创建表时,我为主键列设置了错误的名称。

ALTER TABLE `table_name` CHANGE COLUMN `old_id_name` `new_id_name` integer auto_increment primary key

之后我得到了

Error message: Multiple primary key defined

所以问题是如何重命名列。请注意,我不想将主键更改为另一个,只需将其重命名即可。

3 个答案:

答案 0 :(得分:3)

使用像这样的查询

ALTER TABLE `table_name` CHANGE `old_id_name` `new_id_name` INT(11) NOT NULL AUTO_INCREMENT;

它只会更改主键的列名

答案 1 :(得分:1)

试试这个:

ALTER TABLE table_name CHANGE column old_name new_name int;

fiddle

答案 2 :(得分:1)

试试这个

如果您的旧列已包含NOT NULLAUTO_INCREMENT属性,请使用它

ALTER TABLE tablename CHANGE column old_name new_name int;

或者如果您需要添加NOT NULLAUTO_INCREMENT属性,请使用

ALTER TABLE tablename CHANGE column old_name new_name int NOT NULL AUTO_INCREMENT;