在MySQL数据库的其他列上使用“ INSERT INTO”时,为什么在单独的列上出现“无默认值”错误?

时间:2019-08-02 14:12:38

标签: java mysql

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

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

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

参数也填充了合法参数

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

1 个答案:

答案 0 :(得分:0)

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