【问题标题】:MYSQL FOREIGN KEY ISSUESMYSQL外键问题
【发布时间】:2022-12-18 15:36:19
【问题描述】:

我正在尝试创建一个表,该表引用了我计划制作但尚未制作的另外两个表。我想知道这是否是这里的问题,或者是否存在我遗漏的语法错误。如果有人可以帮助我,将不胜感激

mysql> 创建表项 ( items$id INT NOT NULL AUTO_INCREMENT, sales$id INT NOT NULL AUTO_INCREMENT, img$id INT NOT NULL AUTO_INCREMENT, 名称 VARCHAR(255) 不为空, desc VARCHAR(255) 不为空, 主键(项目$ id),
外键 (sales$id) 参考 sales(sales$id),
外键(img$id) 参考图片(img$id)

ERROR 1064 (42000): 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在 'desc VARCHAR(255) NOT NULL, 附近使用的正确语法, 主键(项目$ id), 第 6 行的 FOREIGN KEY(sales$id) REFEREN'

我试图删除引用,就像只做 'FOREIGN KEY(sales$id)' 和 'FOREIGN KEY(img$id)' 看看是否可行(我是 mysql 的新手),但这也没有用.任何帮助表示赞赏。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    问题是您的字段名称:'desc'

    'desc' 是 mysql 中的关键字,请参阅here

    你的sql会更好:

    CREATE TABLE items ( items$id INT NOT NULL AUTO_INCREMENT, sales$id INT NOT NULL AUTO_INCREMENT, img$id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, descr VARCHAR(255) NOT NULL, PRIMARY KEY(items$id),
    FOREIGN KEY(sales$id) REFERENCES sales(sales$id),
    FOREIGN KEY(img$id) REFERENCES image(img$id))
    

    Ps:您在 sql 查询末尾错过了右括号 ')'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多