MySQLWorkbench 语法错误

标签 mysql mysql-workbench

我试图在 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/

相关文章:

mysql - 在 csv 文件中引用以导入 MySQL

mysql - 如何使用键盘快捷键或菜单项注释 MySQL Workbench 中的代码?

php - 从各个表中选择数据,无需多次查询

Python pymysql : How to load an image from database?

mysql - BigQuery REGEXP_REPLACE

php - Foreach inner When 查询 Laravel

mysql - 如何恢复 MySQL root 用户的全部权限

MySQL ORDER BY 来自 GROUP BY 丢失的子查询

php - 如果我尝试选择单列,Laravel 的 "with"方法将返回空列表

mysql持续时间和获取时间