java - 为什么当我在 MySQL 数据库中的不同列上使用 "no default value"时,会在单独的列上收到 "INSERT INTO"错误?

标签 java mysql

我正在尝试插入 MySQL 数据库中的一列。当尝试执行此操作时,我在数据库中完全不同的列上收到“无默认值”错误。如果我没有尝试将任何内容插入到出现错误的列中,为什么会出现这种情况?

与 Spring 框架中的 JdbcTemplate 一起使用的查询:

String sql = "INSERT INTO database_1(col1) VALUES(?)";
jdbc.batchUpdate(sql, params);

params 也填充了合法参数

控制台输出:INSERT INTO database_1(col_1) VALUES(?)]; Field 'col_2' doesn't have a default value; nested exception is java.sql.BatchUpdateException

最佳答案

表中的某些列可能需要值,即不允许使用 null 值。如果是这样,可以在创建表时为该列指定默认值。如果在表中插入新行而不指定该列的值,则将使用默认值。如果创建表时未指定此类值,您将收到错误消息。您需要在创建表时为列指定默认值,在插入新行时提供一个默认值。

关于java - 为什么当我在 MySQL 数据库中的不同列上使用 "no default value"时,会在单独的列上收到 "INSERT INTO"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57328201/

相关文章:

php - Laravel AVG 没有返回正确的值

java - Spring mongo 存储库 CRUD 与标准相结合

MySQL 回调 - 有这样的东西吗?

java - 关闭应用程序时如何停止声音

java - 特定序列的递归方法

python - 错误 1065 'Query was Empty' 在 python 脚本中

mysql - 在 mysql 中将字符集从 UTF-8 更改为 ISO-8859-1

javascript - 获取ajax调用的php返回值

java - 如何在 3 种不同的浏览器中在同一台电脑上并行运行 selenium html 套件?

Java-输出所有因子的数组列表