我发现在试图修改一个有错误的mysql表时遇到了一些困难。
此表有一个设置为pk的id字段。问题是创建此表时,此字段没有设置为自动递增。
我还尝试删除此字段并将其再次添加设置为自动递增,但我无法执行此操作,因为这在其他表中用作fk,实际上我获得了以下错误消息:
# HY000Cannot drop column 'id': needed in a foreign key constraint 'FK_LivestockMessageDetails_LivestockMessage' of table 'digital_services_DB.LivestockMessageDetails'
while executing:
ALTER TABLE LivestockMessage
DROP `id`,
ENGINE=InnoDB ROW_FORMAT=DYNAMIC DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
我知道我可以删除fk,删除我的id字段,然后以自动递增的方式再次创建它。
但是,我如何修改我的表设置为自动递增wo不做所有这些程序?
2条答案
按热度按时间vsdwdz231#
更改表并修改列以包含
AUTO_INCREMENT
选择?(表格将保留
PRIMARY KEY
约束id
.)http://sqlfiddle.com/#!9月6日1697/3
9njqaruj2#
尝试添加自动递增选项:
或者使用mysql work bench在列配置上选择ai选项: