检查是否INSERT或REPLACE

时间:2016-01-08 10:04:09

标签: java mysql sql jdbc

使用带MySQL的JDBC在java中运行查询:

replace into orders(external_id, channel_id) values ("1001","test");

如果在DB中插入或替换了订单,我想知道。

2 个答案:

答案 0 :(得分:1)

来自manual

  

受影响的行计数可以轻松确定是否更新REPLACE   只添加了一行或者它是否也替换了任何行:检查是否   计数为1(已添加)或更高(已替换)。

因此,您可以使用ROW_COUNT()来获取执行查询后受影响的行数。当更改现有行时,替换不会更新ROW_COUNT()

答案 1 :(得分:0)

尝试以下查询:

INSERT INTO orders(external_id, channel_id) VALUES("1001","test") ON DUPLICATE KEY UPDATE external_id="1001", channel_id="test"