[英]MySQL FK violation causes mysql_query to return different values on different hosts
我為localhost上的數據庫設計了一個簡單的Web界面。 在本地主機上,如果我嘗試發送一條SQL命令來創建一條記錄,並在其中一個字段中使用了無效的FK,則PHP mysql_query
返回false,而我的PHP腳本返回了mysql_error()
,當然其中有一些有關我嘗試違反的FK的信息。
我將整個項目移到了我擁有的HostGator帳戶,並使用與EXACT相同的SQL安裝腳本創建了數據庫表。 但是,當我嘗試在此處違反FK時, mysql_query
返回true,因此我的PHP腳本的行為就好像請求成功了,當然沒有成功。
在這兩種情況下,都不會將任何內容插入數據庫,但是由於某種原因,在后一種情況下, mysql_query
返回true。 同樣在后一種情況下,即使很明顯我犯了一個錯誤, mysql_error()
顯示為空。
是否有某個服務器設置可以控制此設置?
謝謝!
編輯:
類似的問題,在遠程服務器上,我能夠刪除具有FK依賴關系的記錄。 似乎hostgator版本根本沒有強制執行參照完整性。 :-(
如上面評論中所述,正確的解決方案是將我的引擎強制為InnoDB。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.