gpt4 book ai didi

java - jdbc 返回 1,表示没有更新 executeBatch() 中的记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:47 26 4
gpt4 key购买 nike

<分区>

我有一个像这样的 mysql 查询

INSERT INTO table (col1, col2, col3) VALUES ('val1','val2','val3') ON DUPLICATE KEY UPDATE col1=VALUES(col1),STATUS=1

我在 JDBC 中使用 executeBatch() 插入多条记录,如果记录已经存在更新状态列和一些其他值。表也​​有 last_updated 列。

对于新记录插入,jdbc 返回 1 和 2 以进行更新,但它也返回 1 以表示不更新记录。如果我使用相同的值手动执行该查询,我将受到 0 行的影响。

String usersToConvquery = "INSERT INTO ne_ms_conversation_users (conversationId, userId, role) VALUES (?,?,?) ON DUPLICATE KEY UPDATE role=VALUES(role),STATUS=1";
stm = connection.prepareStatement(usersToConvquery);
for (long userId : users) {
stm.setString(1, conversationId);
stm.setLong(2, userId);
stm.setInt(3, 3);
stm.addBatch();
}

int[] insertCount = stm.executeBatch();
System.out.println(Arrays.toString(insertCount));

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