簡體   English   中英

MySQL FK違反導致mysql_query在不同主機上返回不同的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM