当前位置: 首页 > 面试题库 >

MySQL#1364-字段“ column_name”没有默认值-无法插入数据库[重复]

羊舌高爽
2023-03-14
问题内容

这个问题已经在这里有了答案

mysql错误1364字段没有默认值 (15个答案)

3年前关闭。

最近,我将MySQL数据库移到了新服务器上,这给了我以前在MySQL上遇到的一些问题。我的表列设置为“默认=>无”,并且我的表已根据数据类型生成默认值。但是现在当我尝试插入表中时,出现以下错误消息:“#1364-字段’column_name’没有默认值”,然后没有任何内容插入表中。

我该怎么做才能使“默认”选择它自己的值?


问题答案:

它没有明确地保存到数据库中,因为字段“ column_name”(可能还有其他字段)被检查为“ NOT
NULL”。这意味着该字段的值必须是非NULL的值(NULL-完全没有数据)

将字段标记为非空通常是确保某些数据始终存在于字段中的好方法。根据您的需要,您也可以将其标记为NULL,这样它就永远不会抛出错误,并且可以保存到DB中,而无需在指定字段中插入任​​何内容。

这意味着您有两个选择:

  1. 将您的字段标记为NULL(首先检查您的字段是否需要具有某些值)。

ALTER TABLE your_table CHANGE COLUMN your_field
your_fieldVARCHAR(250)NULL;

  1. 将默认值添加到该字段,以便在插入时未提供任何数据时,它将放置您定义的内容。例如:

ALTER TABLE your_tableCHANGE COLUMN your_field your_fieldVARCHAR(250)NOT
NULL默认值’some_default_value’;

当然,将您的字段类型与要更改的字段相匹配。



 类似资料:
  • 问题内容: 我的桌子看起来像 然后我有一个触发器来自动填充CREATED_BY字段 当我使用插入 该条目在表中进行,但我仍然收到错误消息 有没有一种方法可以抑制此错误,而又不使字段可为空并且不删除触发器?否则,我的hibernate状态将看到这些异常(即使已进行插入),然后应用程序将崩溃。 问题答案: 设置默认值(例如:empty ),触发器将始终更新该值。

  • 我的桌子看起来像 然后我有一个触发器来自动填充CREATED_BY字段 当我使用 表中有条目,但我仍然得到错误消息 有没有一种方法可以在不使字段为空和不移除触发器的情况下抑制此错误?否则,我的hibernate将看到这些异常(即使已经进行了插入),然后应用程序将崩溃。

  • 问题内容: 我刚刚从MAMP安装切换到本机Apache,MySql和PHP安装。我已经完成所有工作,但是我已经开始在新环境中使用Web应用程序,突然任何INSERT命令都会导致以下错误: SQLSTATE [HY000]:常规错误:1364字段“ display_name”没有默认值 看来我现在无法将字段留空。我正在使用MySql版本5.6.13 有没有办法在MySql中更改此设置? 问题答案:

  • 我不明白为什么我应用程序会删除异常“字段'ID_Employeer'没有默认值”。 是我的主键,当我试图将任何信息保存到我的数据库时,我得到了这个异常,但是,当我只是试图从DB读取信息时,它是正常的。 我读了关于StackOverflow的主题,但我仍然不明白我应用程序中的答案。我正在使用Hibernate5.2.11。 我的: 我的冬眠: 下一个CharacterInfo类 主类 最后例外

  • 问题内容: 我面对的是Hibernate遇到的一个简单问题,但无法解决(无法访问的Hibernate论坛当然无济于事)。 我有一个简单的课程想继续学习,但是请继续学习: 持久化类的相关代码为: 实际的运行代码很简单: 我在注解中尝试了一些“策略”,但似乎不起作用。初始化也无济于事!(例如)。 谁能给我一些启示? 编辑2: 确认:不能解决问题 求助: 重新创建数据库解决了问题 问题答案: 有时,即使

  • 问题内容: 我收到一条错误消息: 每个人都可以帮助我吗?我的数据库字段不为空。但我想得到这个结果: 并且 两者都成功(在客户端中都是成功,但是在Java代码中是error,错误代码位于标题的顶部),而不是false;我的mysql jar是mysql-connector- java-5.0.8 问题答案: 该错误是不言自明的。您的列没有默认值。因此,在插入期间,mysql无法找出要在列中插入的内容