2017-07-08 41 views
0

我的服務器數據.. Ubuntu的 - NGINX - MySQL的建立外鍵,需要引擎關鍵字在MySQL聲明列入

我需要建立在與wp_posts表的外鍵的WordPress數據庫中的表..但我注意到那在新表中創建一個外鍵我必須包含ENGINE關鍵字到創建表聲明中,我不知道爲什麼,但是當ENGINE關鍵字未包含時創建外鍵失敗。

當然,我需要這個語句以編程方式爲我的客戶,所以我不能包括引擎='用戶數據庫引擎'..所以有反正使用默認的數據庫引擎?

P.S.我應該包含ENGINE關鍵字。

+0

能否在投票前寫下評論請明白我不是MySQL中的專業人士..我問一個問題以獲得幫助,不會得到率 –

回答

0

MySQL僅支持特定數據庫引擎的外鍵。兩種最常用的和存在於安裝有:

  • 的MyISAM
  • InnoDB的

InnoDB支持外鍵約束,MyISAM不。在MyISAM中執行外鍵約束的地方在某個地方,但是在過去的15年中沒有人做到(加/減幾個)。

+0

感謝您的幫助朋友,但我的數據庫引擎是MYISAM,我創建了一個具有外鍵的新表,但我沒有寫關鍵字,但它失敗了,但經過一些測試後,我在創建表語句中添加了ENGINE = MYISAM,並且外鍵已成功添加 –

+1

它「起作用」,但它並不實際做任何事情。 [*「對於不支持外鍵的存儲引擎(如MyISAM),MySQL服務器解析並忽略外鍵規範。」*](https://dev.mysql.com/doc/refman/5.7/en/create - 表 - 外國keys.html) –