2016-08-14 33 views
0

here is my table structure外鍵約束被不正確地形成[同一表]

我想的是parent_forum將節省父論壇,這是相同的表id列值的ID的ID。正如你可以看到兩列具有相同的類型。我的表引擎是InnoDB,我嘗試下面的查詢來添加一個約束。

ALTER TABLE `forums` ADD CONSTRAINT `parent_forum constraint` FOREIGN KEY (`id`) REFERENCES `codeigniter`.`forums`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; 

我得到一個寫在標題上的錯誤。 這裏究竟有什麼錯誤? Category_id成功與其他表ID值一起使用。

回答

1

我認爲這是你正在尋找的語法:

ALTER TABLE forums ADD CONSTRAINT parent_forum_constraint 
    FOREIGN KEY (parent_forum) REFERENCES codeigniter.forums(id) 
     ON DELETE RESTRICT ON UPDATE RESTRICT; 

括號中的列是指references後列中的一個。另外,除非你有一個很好的理由,否則不要在名字中加空格。沒有所有反引號,代碼更可讀。

+0

謝謝。我實際上是使用phpmyadmin關係視圖來創建這個約束。 – user3111627