爲什麼CMS數據庫(例如WP和PRESTASHOP)不在其表上使用外鍵?我認爲表應該有外鍵來防止孤行。爲什麼CMS數據庫不使用外鍵?
0
A
回答
1
從後(顯然是WP人員)摘自於
wordpress.org WordPress › Support » Plugins and Hacks » Hacks
與MySQL的問題是,只有少數安裝默認的InnoDB。大多數使用MyISAM表格是因爲它們更「適合初學者」。
由於這個WordPress以及我所見過的幾乎所有其他基於PHP的CMS,都必須認爲它將使用最小公分母,因此不需要引用的MyISAM表是必需的,因此它可以儘可能通用。
我會補充說WP系統已經被設置爲使用PHP代碼來執行它可以完成的完整性。這就是爲什麼總是最好使用內置的WordPress功能,而不是試圖推出自己的。
只有MySQL InnoDB存儲引擎強制執行外鍵聲明。但他們被視爲與MyISAM存儲引擎的評論,所以我不知道爲什麼他們沒有被宣佈。
帖子「自定義的Prestashop軟件解決方案和共享和專用虛擬主機服務」成員在
prestashop.com Forum > Technical Forum > Adapting my PrestaShop > Development
因爲它使用的是InnoDB時,才支持,而且不是每個人都使用了。
順便說一下,向後兼容性和徹底的測試並不是Prestashop出名的。
相關問題
- 1. 爲什麼Wordpress數據庫模式不使用外鍵?
- 2. 爲什麼外鍵數據不會持久到mysql數據庫?
- 3. 在外部數據庫中使用CMS
- 4. 爲什麼我的數據庫不接受用戶表單中的外鍵?
- 5. Vignette使用什麼樣的數據庫CMS
- 6. 爲什麼要使用外鍵?
- 7. 使用數據庫外鍵的EntityFramework
- 8. 爲什麼使用數據庫視圖?
- 9. 爲什麼外鍵存儲在子項中而不是父數據庫中
- 10. 爲什麼「View Dependencies」不在兩個數據庫的表之間顯示外鍵?
- 11. 爲cms設計數據庫
- 12. 我不能在構造函數外使用數據庫連接,爲什麼?
- 13. 數據集市設計 - 最佳實踐 - 爲什麼不使用外鍵?
- 14. 鍵值數據庫有什麼用途?
- 15. 數據庫 - 數組作爲外鍵
- 16. 爲什麼sequelize會爲外鍵列使用不同的名稱?
- 17. 什麼使用,而不是數據庫?
- 18. 爲什麼有必要在數據庫中顯式指定外鍵和引用?
- 19. 爲什麼使用繼承的外鍵不起作用?
- 20. 爲什麼輸入關鍵字不存儲在數據庫中?
- 21. 爲什麼你不想整合任務關鍵型數據庫?
- 22. 爲什麼不更新DataContext與外部數據庫更改?
- 23. 爲什麼外鍵不會更新?
- 24. 爲什麼我不能刪除外鍵?
- 25. 爲什麼外鍵不被接受?
- 26. 數據庫設計:識別外鍵有什麼意義?
- 27. NHibernate,遺留數據庫,外鍵不是
- 28. 現有數據庫不支持外鍵
- 29. 爲什麼索引不按順序使用(外鍵)
- 30. 爲什麼不使用getter和setter創建外鍵?
這大部分是歷史的事情我猜,很多代碼和查詢都存在了很長時間。沒有人想要毫無意義地重構一個巨大的項目(沒有人真正關心孤兒行:-))。 WP和其他cms主要用於小型項目,當它們變得更大時,開發人員可以根據需要重新設計一些查詢。 – Alex