mySQL如何改变列有外键?

时间:2016-12-12 05:08:23

标签: mysql foreign-keys

我想将其中一个表中的列更改为引用另一个表中的另一列。我试图通过以下方式引入外键:

  

ALTER TABLE`table` ALTER COLUMN`id_l` int NOT NULL,外键(`id_l`)引用table_b(`id_l`);

     

ALTER TABLE`table` CHANGE`id_l``id_l` int NOT NULL,外键(`id_l`)引用table_b(`id_l`);

我抛出了语法错误。

解决方法是删除表并创建一个带有所需引用的新表(这有效),但我想按原样更改此表,而不是传输数据。我该怎么做?

MySQL Server 5.6.17

1 个答案:

答案 0 :(得分:3)

只需使用ALTER TABLEADD CONSTRAINT

ALTER TABLE `table` ADD CONSTRAINT fk_l_id FOREIGN KEY (id_l) REFERENCES table_b(id_l);