我试图使用java JDBC驱动程序将空值插入整数Mysql列。
Connection con;
con = MySqlConnect.getConnection(accountName);
con.setAutoCommit(false);
PreparedStatement stmt = con.prepareStatement("INSERT INTO TABLE_NAME (COLUMN_NAME) VALUES (?)");
stmt.setNull(1, Types.INTEGER);
stmt.addBatch();
stmt.executeBatch();
但是我得到了这个错误:
JAVAsql。BatchUpdateException:第1行“column_NAME”列的整数值“”不正确
我不明白为什么我不能插入这个值(也不明白为什么它写为“”而不是null)。表的模式包括
COLUMN_NAME
int(10)默认为空,
如果使用浮点数据类型复制替代方案:
FLOAT_COLUMN
浮点数(10)DEFAULT NULL,
并将setNull行切换到:
stmt.setNull(1, Types.FLOAT);
它可以工作(所以对于浮点数据类型不是int)。
您是否尝试:stmt.setNull(参数索引,类型。BIGINT);
?
问题内容: 我正在尝试插入我的MySQL数据库。第一列是“ id”列,因为它是一个auto_increment字段,所以我将其留为空白。由于某些原因,我无法插入,并且出现了下面提到的错误。我对此表示感谢。 尝试插入时出现以下错误: 我的查询 问题答案: 这可能意味着您是一个整数,并且您正在尝试发送字符串。您应该指定一个列列表,并从中删除它。
我目前正在做一个Airflow项目,其中一个DAG正在触发这个SQL查询: 该查询应该将数据从Mssql数据库传输到Mysql数据库。但当它运行时,我会得到以下错误: 我想我理解错误的含义,值'Lager4'应该写入列typ中,但被写入列fertig中。但我似乎无法在查询中找到导致错误的问题。
但我还是有例外 由:java.sql.sqlException引起:com.mysql.jdbc.sql第1行的列“rins”的字符串值不正确:“\xf0\x9f\x92\xbc”
我希望在数据库中找不到该项时出现异常
我在所有实体属性上都有注释,需要在我的审计表中捕获这些属性。除了值删除之外,它在所有情况下都能很好地工作。也就是说,如果我的列的值从NULL/INT设置为某个非NULL值,则相应的值设置为1,但是如果该值从任何INT值设置为NULL,则设置为0(表示未修改)。我不知道为什么会这样。我已经检查了Envers的文档和Envers的开放问题列表,但没有找到任何关于它的东西。 顺便说一下,我使用的是Hib
问题内容: 我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”? 就像是 它将在sql server 2005上运行 谢谢 问题答案: 使用以下内容: 或@Lieven指出: COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推…