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

java.sql.SQLException:字段“ supplier_id”没有默认值

仲孙向明
2023-03-14
问题内容

我收到一条错误消息:

 java.sql.SQLException: Field 'supplier_id' doesn't have a default value
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
    at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402)
    at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1317)

每个人都可以帮助我吗?我的数据库字段不为空。但我想得到这个结果:

insert into xxx(name,password)values('xxx','xxx'); 并且insert into xxx(name,password,man)values('xxx','xxx','xxx');
两者都成功(在客户端中都是成功,但是在Java代码中是error,错误代码位于标题的顶部),而不是insert into xxx(name,password)values('xxx','xxx')false;我的mysql jar是mysql-connector-
java-5.0.8


问题答案:

该错误是不言自明的。您的列supplier_id没有默认值。因此,在插入期间,mysql无法找出要在列中插入的内容supplier_id。您可以执行以下三种操作之一:-1
.将默认值添加到列中supplier_id-

ALTER TABLE `xxx` ALTER `supplier_id` SET DEFAULT NULL

2. supplier_id在插入过程中向列提供一些值。
3.将自动增量添加到该列,并使用以下代码向其添加主键:-

ALTER TABLE `xxx` CHANGE `supplier_id` `supplier_id` INT(10)AUTO_INCREMENT PRIMARY KEY;


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

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

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

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

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

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