【问题标题】:mySql Constraint fields is not workingmySql 约束字段不起作用
【发布时间】:2017-05-10 16:04:23
【问题描述】:

我正在尝试通过 mySql 约束两个不同的表字段。 table(field) : cmets(item_id) with item(item_ID) with this code:

ALTER TABLE 'comments' ADD CONSTRAINT comment_item
FOREIGN KEY(item_id) REFERENCES items(item_ID)
ON UPDATE CASCADE
ON DELETE CASCADE;

但我收到此错误消息:

1064 - 您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在 ''cmets' ADD CONSTRAINT comment_item 附近使用的正确语法

FOREIGN KEY(item_id) REFERENCES items(it' at line 1

有什么问题? 我使用 InnoDB 作为存储引擎,使用 utf_general_ci 作为排序规则。

【问题讨论】:

  • 原因我已经写好了

标签: php mysql


【解决方案1】:

其实你不需要单引号,根据MySQL documentation你可以这样写你的语句:

ALTER TABLE comments ADD CONSTRAINT comment_item
FOREIGN KEY(item_id) REFERENCES items(item_ID)
ON UPDATE CASCADE
ON DELETE CASCADE;

您也可以查看here for an example

【讨论】:

    【解决方案2】:

    改变

    ALTER TABLE 'comments' ADD CONSTRAINT comment_item
    

    ALTER TABLE `comments` ADD CONSTRAINT comment_item
    

    使用 ` 而不是 '。

    或者像这样写没有'

    ALTER TABLE comments
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2011-10-21
      • 2015-08-18
      相关资源
      最近更新 更多