我试图在 MySQLWorkbench 中执行以下 SQL 命令,但它给我一个错误。
命令:
ALTER TABLE `ABC`.`GroupMembers`
ADD CONSTRAINT `FK_PROFILES`
FOREIGN KEY ()
REFERENCES `ABC`.`profiles` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION;
错误:
Operation failed: There was an error while applying the SQL script to the database.
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 `ABC`.`profiles` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION' at line 3
SQL Statement:
ALTER TABLE `ABC`.`GroupMembers`
ADD CONSTRAINT `FK_PROFILES`
FOREIGN KEY ()
REFERENCES `ABC`.`profiles` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION
不确定发生了什么。此脚本由 MySQLWorkbench 生成
最佳答案
两个列表中都必须有一列(或多列)。不能为空。
例如:
FOREIGN KEY (profile_id)
-- ^^^^^^^^^^
REFERENCES `ABC`.`profiles` (id)
-- ^^
列的数据类型完全非常匹配。存储在外键列中的值必须与引用表中一行中的值匹配。 (在此示例中,profile_id
中的所有值都必须与 profiles
表中的 id
列的值相匹配。
关于MySQLWorkbench 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31196201/