我想将其中一个表中的列更改为引用另一个表中的另一列。我试图通过以下方式引入外键:
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
答案 0 :(得分:3)
只需使用ALTER TABLE
和ADD CONSTRAINT
:
ALTER TABLE `table` ADD CONSTRAINT fk_l_id FOREIGN KEY (id_l) REFERENCES table_b(id_l);