mysql - 由于外键,无法在现有列上添加 AUTO_INCREMENT

标签 mysql sql database foreign-keys foreign-key-relationship

我有主键列,其中有一些外部外键引用。很平常。我忘了为它添加 AUTO_INCREMENT。现在我执行

ALTER TABLE chat.users 更改列 user_id user_id INT(11) NOT NULL AUTO_INCREMENT ;

(PRIMARY KEY 单独定义)

它讲述了一些关于 fk 的信息 ERROR 1833:无法更改列“user_id”:用于表“chat.chats”的外键约束“fk_chats_users”

我不明白为什么 fk 会打扰它的引用 AUTO_INCREMENT。

最佳答案

FK 担心您的更改的原因是因为您试图更改它并用于约束,请记住您可以更改数据类型。

因此,如果您想对 FK 进行更改,请查看 this回答(如果您在生产环境中进行更改,请记住锁定表之前)。

关于mysql - 由于外键,无法在现有列上添加 AUTO_INCREMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29280397/

相关文章:

java - 无法将数据保存到数据库

php - 1对多通知系统

MySQL distinct+sort 查询性能问题

sql - 我想将 ROLLUP 与 PIVOT 结合使用 - 这是一个选项吗?

php - 数据库插入不起作用并且没有给出任何错误

Java Prepared statement Sql查询错误

Php 从唯一的 SQL 行中检索一组值并将其显示在 HTML 选项列表中

iphone - 在 iOS 上创建在线数据库的本地缓存

mysql - 在 SQL 中搜索特定位置的字母

mysql - 如何在cloudfoundry中执行mysql脚本