首页  >  文章  >  数据库  >  为什么我在 MySQL 中收到“Field \'display_name\'没有默认值”错误?

为什么我在 MySQL 中收到“Field \'display_name\'没有默认值”错误?

Susan Sarandon
Susan Sarandon原创
2024-11-04 02:56:30810浏览

Why Am I Getting the

MySql:解决“display_name”字段的字段默认值错误

您遇到“字段 'display_name' 没有在本机 Apache、MySql 和 PHP 环境中执行 INSERT 命令期间出现“默认值”错误,需要进行更仔细的调查。

理解错误

首先,必须认识到这一点MySql 的 STRICT 模式可能已激活。 STRICT 模式强制执行更严格的数据验证和确认,在 INSERT 操作期间要求非 NULL 列的默认值。因此,之前在 MAMP 环境中允许空值的字段现在会触发此错误。

解决问题

要纠正该问题,有两种方法可用。

1。禁用 STRICT 模式

  • 执行 SQL 命令:SET GLOBAL sql_mode='';
  • 这将停用 STRICT 模式,允许不带默认值的 INSERT 命令。

2.修改 my.cnf

  • 编辑 my.cnf 配置文件并找到 sql_mode 设置。
  • 确保未设置 STRICT_ALL_TABLES 或 STRICT 模式的任何变体。
  • 例如,将 sql_mode='STRICT_ALL_TABLES' 更改为 sql_mode='',或者简单地删除 sql_mode 设置。

一旦实现这些解决方案中的任何一个,INSERT 命令应该成功执行,而不会遇到“display_name”字段的默认值错误。

以上是为什么我在 MySQL 中收到“Field \'display_name\'没有默认值”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn