考虑一个带有两列(id,value)和两行的表fred.第一行是(1,'蓝'),第二行是(2,'蓝')
我发表以下声明
INSERT INTO fred VALUES (1,'Red'); [inserts 1 row]
UPDATE fred SET value = 'Blue'; [updates 3 rows but the value on 2 doesn't change]
UPDATE fred SET id = 3 WHERE id = 1; [updates 1 row]
ROLLBACK;
Run Code Online (Sandbox Code Playgroud)
表中最初的两条记录都已更新.1更新了两次.插入一行然后更新.然后所有这些变化都被回滚.问题是,你想要几号?更新的记录数,或对记录执行的更新总数.
从技术角度来看,最简单的答案是应用撤消记录的统计数量.但是你必须在前后测量它.实际上,它会变得非常混乱,因为使用UPDATE语句命中并发活动,语句可能会在中途停止,回滚并重新启动.参考AskTom