我发现在尝试修改带有错误的 MySql 表时遇到了一些困难。
此表格的 id 字段设置为 PK 。问题是,创建此表时,此字段未设置为自动增量。
我还尝试删除此字段并再次添加将其设置为自动增量,但我无法执行此操作,因为这在其他表中用作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 字段并再次创建为自动增量。
但是我如何修改我的表格,将其设置为自动增量,而不是执行所有这些程序?
答案 0 :(得分:1)
更改表并修改列以包含AUTO_INCREMENT
选项?
ALTER TABLE LivestockMessage MODIFY COLUMN id INT AUTO_INCREMENT;
(该表格会在PRIMARY KEY
上保留id
约束。)
答案 1 :(得分:-1)