移除 MySQL 的 strict mode

在嚴謹模式下,如果 column 沒有設定 default value 的話,在 INSERT 時就會出現錯誤

1
Field 'class' doesn't have a default value

通常會出現這種情況,情況可能是更新 MySQL 或是 CREATE TABLE 沒有注意到 default value

如果是前者,那麼可能所有的表格都需要重新設定過了

反之如果是後者,只需要修正少數欄位即可

要解決此問題,有下列三種解決方式

  1. 把所有的欄位都加上 default value
  2. 讓所有欄位允許 null
  3. 關閉 strict mode

其中第三種是最快的方式,本篇文章將介紹第三種的設定方式

打開 my.ini 然後找到,並且改成下列的內容

如果沒有 sql-mode 的話,可以直接輸入下列內容

1
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"