爲什麼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. 爲什麼我的數據庫不接受用戶表單中的外鍵?
- 2. Vignette使用什麼樣的數據庫CMS
- 3. 爲什麼要使用外鍵?
- 4. 爲什麼「View Dependencies」不在兩個數據庫的表之間顯示外鍵?
- 5. 爲cms設計數據庫
- 6. 爲什麼使用數據庫視圖?
- 7. 鍵值數據庫有什麼用途?
- 8. 爲什麼sequelize會爲外鍵列使用不同的名稱?
- 9. 爲什麼輸入關鍵字不存儲在數據庫中?
- 10. 爲什麼你不想整合任務關鍵型數據庫?
- 11. 爲什麼不更新DataContext與外部數據庫更改?
- 12. 爲什麼外鍵不被接受?
- 13. 爲什麼外鍵不會更新?
- 14. 爲什麼我不能刪除外鍵?
- 15. 數據庫設計:識別外鍵有什麼意義?
- 16. NHibernate,遺留數據庫,外鍵不是
- 17. 爲什麼不能在JPA和Hibernate中使用外鍵關係?
- 18. 爲什麼索引不按順序使用(外鍵)
- 19. 爲什麼不使用getter和setter創建外鍵?
- 20. 使用phpMyAdmin複製數據庫失敗,因爲外鍵約束
- 21. JPA不插入數據庫,爲什麼?
- 22. 爲什麼ANSIBLE不需要數據庫?
- 23. 爲什麼不打開sqlite數據庫?
- 24. 數據庫:外鍵執行
- 25. 數據庫外鍵錯誤
- 26. Android數據庫 - 外鍵
- 27. Mysql跨數據庫外鍵
- 28. 數據庫外鍵約束
- 29. 三級數據庫 - 外鍵
- 30. 數據庫中的外鍵
這大部分是歷史的事情我猜,很多代碼和查詢都存在了很長時間。沒有人想要毫無意義地重構一個巨大的項目(沒有人真正關心孤兒行:-))。 WP和其他cms主要用於小型項目,當它們變得更大時,開發人員可以根據需要重新設計一些查詢。 – Alex