ERROR 1025(HY000):MODIFY列命令出错

时间:2015-07-23 10:32:14

标签: mysql

我需要修改我的主键列。我想将int更改为bigint。但是有一个错误。我该怎么改变它?我不想删除密钥..

ALTER TABLE items MODIFY COLUMN itemnumber bigint(12) unsigned NOT NULL AUTO_INCREMENT;
  

ERROR 1025(HY000):重命名' ./ kohadata /#sql-3ae3_5cf5'至   ' ./ kohadata /项目' (错误:150)

我的桌子;

 CREATE TABLE `items` (
  `itemnumber` int(11) NOT NULL AUTO_INCREMENT,
  `biblionumber` int(11) NOT NULL DEFAULT '0',

    PRIMARY KEY (`itemnumber`),
) ENGINE=InnoDB AUTO_INCREMENT=2147483647 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

1 个答案:

答案 0 :(得分:1)

由于auto_increment和主键属性,可能会发生并发症。 如何分两个阶段完成:

  1. 删除主键(ALTER TABLE items MODIFY COLUMN itemnumber bigint(12)unsigned NOT NULL,DROP PRIMARY KEY;)
  2. 再次添加主键(ALTER TABLE items MODIFY COLUMN itemnumber bigint(12)unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY;)
  3. 或者正如我刚刚读到的那样,可能是因为外键限制。您需要删除引用此表的其他表中的外键约束,更改items表中的主键,更改其他表中的列类型以匹配新列类型,并重新添加外键约束。