web-dev-qa-db-ja.com

外部キーのため、既存の列にAUTO_INCREMENTを追加できません

私はいくつかの外部外部キー参照を持つ主キー列を持っています。ごく普通。 AUTO_INCREMENTを追加するのを忘れました。今、私は実行します

ALTER TABLE chat.users CHANGE COLUMN user_id user_id INT(11) NOT NULL AUTO_INCREMENT ;

(PRIMARY KEYは個別に定義されました)

それはfk ERROR 1833: Cannot change column 'user_id': used in a foreign key constraint 'fk_chats_users' of table 'chat.chats'

Fkが参照AUTO_INCREMENTについて気になる理由を理解できません。

15
user3537411

FKが変更を気にする理由は、FKを変更しようとして制約で使用されているためです。データ型を変更できることに注意してください。

したがって、FKに変更を加える場合は、 this の回答を確認してください(本番環境で変更を行う場合は、前にテーブルをロックしてください)。

4