MySql 错误:1364 字段“display_name”没有默认值

2022-08-30 09:42:57

我刚刚从 MAMP 安装切换到原生 Apache、MySql 和 PHP 安装。我已经让一切正常,但我已经开始在新环境中使用我的Web应用程序,突然任何INSERT命令都会导致以下错误:

SQLSTATE[HY000]: 常规错误: 1364 字段“display_name”没有默认值

似乎我现在无法将我以前能够做的字段留空。我使用的是 MySql 版本 5.6.13

有没有办法在MySql中更改此设置?


答案 1

MySQL最有可能处于严格模式。

尝试运行或编辑 my.cnf,以确保您没有设置或类似设置。SET GLOBAL sql_mode=''STRICT_ALL_TABLES


答案 2

MySQL最有可能处于模式,这不一定是一件坏事,因为你会尽早发现错误/问题,而不仅仅是盲目地认为一切都在按你的意图工作。STRICT

将列更改为允许空值:

ALTER TABLE `x` CHANGE `display_name` `display_name` TEXT NULL

或者,将其默认值指定为空字符串:

ALTER TABLE `x` CHANGE `display_name` `display_name` TEXT NOT NULL DEFAULT ''

推荐