在PHP中,mysql_affected_rows()告訴我在MySQL UPDATE語句後表中有多少行更改。它只計算實際更改值的行。PHP:在mssql之後實際更改的行數UPDATE查詢
但是,MSSQL等效的mssql_rows_affected()會返回UPDATE語句的WHERE子句爲true的行數,即使這些行中沒有內容實際發生更改。
有沒有一種方法可以確定在MSSQL中實際更改的行數?
在PHP中,mysql_affected_rows()告訴我在MySQL UPDATE語句後表中有多少行更改。它只計算實際更改值的行。PHP:在mssql之後實際更改的行數UPDATE查詢
但是,MSSQL等效的mssql_rows_affected()會返回UPDATE語句的WHERE子句爲true的行數,即使這些行中沒有內容實際發生更改。
有沒有一種方法可以確定在MSSQL中實際更改的行數?
你可以一個條款,你的WHERE條件添加到未更新行,如果它不改變:
UPDATE yourtable
SET foo = 'bar'
WHERE yourcondition
AND foo <> bar
聽起來很有希望我會嘗試一下,謝謝 – jms 2011-01-21 23:22:25
您可以使用mysql_affected_rows
int mysql_affected_rows ([ resource $link_identifier ])
的更多信息:http://php.net/manual/en/function.mysql-affected-rows.php
我不明白。當然,如果WHERE子句的計算結果爲true,那麼該行是UPDATE。 – 2011-01-21 23:18:02