如何在更新后检查值是否已更改?

Jim*_*Jim 6 mysql sql perl sql-update

假设我做了类似以下的事情:

my $rows = $dbh->do("UPDATE MYTABLE SET amount=1200 WHERE id =123"); 
Run Code Online (Sandbox Code Playgroud)

$rows即使有量返回1是已经 1200所以它被认为是一个更新的行.
我的问题是:除了在更新之前进行查询之外,有没有办法检查更新是否实际更改了行中的值?

Twi*_*les 9

将SQL查询更改为:

UPDATE MYTABLE SET amount=1200 WHERE id = 123 AND amount <> 1200
Run Code Online (Sandbox Code Playgroud)

该表将是相同的,但它返回实际更改的行数.