Mysql 通过JDBC执行INSERT IGNORE时获取重复计数
在通过JDBC执行MySQL“INSERT IGNORE”语句时,是否可能获得重复计数 例如,当我在mysql命令行上执行INSERT IGNORE语句时,有重复的语句 查询正常,0行受影响(0.02秒) 记录:1个重复:1个警告:0 注意其中的“Duplicates:1”,表示存在被忽略的重复项 在通过JDBC执行查询时,是否可能获得相同的信息Mysql 通过JDBC执行INSERT IGNORE时获取重复计数,mysql,jdbc,insert,Mysql,Jdbc,Insert,在通过JDBC执行MySQL“INSERT IGNORE”语句时,是否可能获得重复计数 例如,当我在mysql命令行上执行INSERT IGNORE语句时,有重复的语句 查询正常,0行受影响(0.02秒) 记录:1个重复:1个警告:0 注意其中的“Duplicates:1”,表示存在被忽略的重复项 在通过JDBC执行查询时,是否可能获得相同的信息 谢谢 我相信您可以通过在插入后发出SHOW WARNINGS来检索此信息 您可以通过JDBC获得受影响的行值。只需从插入的行数中减去它 请记住,受影响
谢谢 我相信您可以通过在插入后发出
SHOW WARNINGS
来检索此信息
您可以通过JDBC获得受影响的
行
值。只需从插入的行数中减去它
请记住,受影响的行
还包括受查询间接影响的行。因此,如果有任何触发器影响其他行,受影响的行
也将包括这些行
请参阅:()您可以使用ROW_COUNT()和FOUND_ROWS()函数来确定执行插入忽略时插入的行数和重复的行数
例如:
SELECT ROW_COUNT(), FOUND_ROWS()
INTO myRowCount, myFoundRows;
myInsertedRows = myRowCount;
myDuplicateRows = myFoundRows - myInsertedRows;
COMMIT;
我不相信重复数据存储在查询中。最接近的方法是在
插入
之前使用WHERE unique values
运行选择
,获取行数和重复项。找到如何检索重复项的值了吗?插入忽略在尝试插入重复值时不会产生警告。正如我之前所写的,如果我从SQL控制台运行它,它会生成如下内容:查询OK,0行受影响(0.02秒)记录:1重复:1警告:0所以“警告:0”表示没有警告。在您的示例中,“插入忽略”在哪里?