2017-05-10 73 views
2

我想通過mySql約束兩個不同的表字段。 表(場):評論(ITEM_ID)與此代碼項目(ITEM_ID):mySql約束字段不工作

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

,但我得到這個錯誤信息:

1064 - 你在你的SQL有一個錯誤句法;檢查對應於你的MySQL服務器版本使用附近的'意見添加約束comment_item正確的語法手冊

外鍵(ITEM_ID)參考文獻在行項目(這是1

什麼問題? 我使用的是InnoDB作爲存儲引擎,並utf_general_ci作爲整理。

+0

我寫過原因。 –

回答

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

+1

是的,它工作:D謝謝@lloiacono –

1

變化

ALTER TABLE 'comments' ADD CONSTRAINT comment_item 

ALTER TABLE `comments` ADD CONSTRAINT comment_item 

使用`而不是'。

或只寫不'這樣的:

ALTER TABLE comments 
+0

謝謝@Danyal Sandeelo –