最近在使用mysql執行腳本時,遇到了一些問題。在執行完腳本后,發現一些字段居然缺失了!本來數據庫里應該有這些字段的,但是通過查詢發現,它們神不知鬼不覺地消失了。
經過一番排查,我發現問題出在腳本執行時的一些設置上。
SET SQL_MODE = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
這條執行語句中的“STRICT_TRANS_TABLES”選項,是導致字段缺失的元兇。它會在執行時,把一些不符合規范的操作給刪掉。因此,如果你的腳本中有一些沒有嚴格按照規范定義的字段,那么它們就很有可能被這條語句給過濾掉了。
解決這個問題的辦法很簡單,只需要在執行腳本前,把這個選項給取消掉即可。
SET SQL_MODE='';
通過這種方式,我們就可以保證在執行腳本時,不會因為STRICT_TRANS_TABLES選項的限制而導致一些字段被刪掉了。
總的來說,這個問題是由于mysql執行腳本時的一些限制導致的。只要我們使用正確的方法來執行腳本,就可以避免這類問題的發生。
上一篇css文件應用不了
下一篇mysql執行系統命令行