通过My-SQL Workbench在SQL中添加外键给出错误1064

问题描述

我想将外键添加到名为“地址”的表中。

ALTER TABLE `students1`.`address` 
ADD CONSTRAINT `id_country`
FOREIGN KEY ()
REFERENCES `students1`.`country` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION;

此请求由MysqLWorkbench自动生成。 但是得到这个错误

ERROR 1064: You have an error in your sql Syntax; check the manual that corresponds to your MysqL server version for the right Syntax to use near ')
REFERENCES `students1`.`country` ()
ON DELETE NO ACTION
ON UPDATE NO ACT' at line 3

如何解决

解决方法

我不知道您的两个表是否具有相同的列id_country

但是在这种情况下的语法是:

ALTER TABLE `students1`.`address` 
    ADD CONSTRAINT 
    FOREIGN KEY (`id_country`)
    REFERENCES `students1`.`country`(`id_country`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION;