gpt4 book ai didi

java - 如何在mysql中插入NULL,尤其是INT dataType

转载 作者:IT老高 更新时间:2023-10-29 00:10:11 26 4
gpt4 key购买 nike

我有 80000 个重新编码需要插入到数据库中,尤其是在表中:temp(ts, temp)temp 是 INT。

问题是几乎 20000 次重新编码为空,所以我想知道当 dataType 为 INT 时如何将 NULL 插入 DB。

我试过了:

String val = null;

//insert(ts, val) into temp
String sql = "INSERT INTO temp" + "(val)" + " VALUES" + "('" + val + "')";
Statement st = (Statement) conn.createStatement();
count = st.executeUpdate(sql);

不幸的是插入失败。打印出异常信息:

Incorrect integer value: 'null' for column 'val' at row 1"

希望有人可以帮助我。谢谢。

最佳答案

您应该使用 PreparedStatement 并使用 setNull(int, int) :

String sql = "INSERT INTO temp(val) VALUES (?)";
PreparedStatement st = con.prepareStatement(sql);
if (/* int value is not null */) {
st.setInt(1, value);
} else {
set.setNull(1, Types.INTEGER);
}
count = st.executeUpdate();

关于java - 如何在mysql中插入NULL,尤其是INT dataType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18449708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com