当前位置: 首页 > 知识库问答 >
问题:

mysql错误1364字段没有默认值

乜胜泫
2023-03-14

我的桌子看起来像

create table try ( name varchar(8), CREATED_BY varchar(40) not null);

然后我有一个触发器来自动填充CREATED_BY字段

create trigger autoPopulateAtInsert BEFORE INSERT on try for each row set new.CREATED_BY=user();

当我使用

insert into try (name) values ('abc');

表中有条目,但我仍然得到错误消息

Field 'CREATED_BY' doesn't have a default value Error no 1364

有没有一种方法可以在不使字段为空和不移除触发器的情况下抑制此错误?否则,我的hibernate将看到这些异常(即使已经进行了插入),然后应用程序将崩溃。

共有1个答案

公冶谦
2023-03-14

created_by设置默认值(例如:emptyvarchar),触发器将随时更新该值。

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

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

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

  • 我会尽量短一点 异常在线程"main"javax.persistence.持久性异常:异常[Eclipse链接-4002](Eclipse持久性服务-2.5.2. v20140319-9ad6abd):org.eclipse.persistence.exceptions.数据库异常内部异常:java.sql.SQLExc0019:字段'Target_id'没有默认值错误代码: 1364调用:插入目

  • 我会尽量简短客观。我使用的是JPA Eclipselink2.5.2。在用MySQL脚本创建数据库之后,我正在尝试填充它。编译给了我以下错误: 线程“main”javax.Persistence.persistenceException:异常[EclipseLink-4002](Eclipse Persistence Services-2.5.2.V20140319-9AD6ABD):org.Ec

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