我最近更新了我的 MySQL(并将 wamp 更新到了 v3)并将我的旧数据库移到了那里。
以前,如果没有给出值,诸如 varchar、char、text 等字段类型将假定默认值为空字符串(即使我在创建表结构时没有显式设置此默认值)。
但是更新后,当我尝试运行以前工作的代码时,它给出了异常
Field
<field_name>
doesn't have a default value
我猜这是 mysql 或其他东西中的设置。谁能帮我吗?
谢谢。
最佳答案
事实证明严格模式已启用。
通过更改行禁用严格模式
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"
到
sql-mode=""
引用:https://support.kayako.com/article/472-how-do-i-disable-mysql-strict-mode-on-the-server
关于mysql - 升级后字符串不假设为空默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38952139/