在MySql中,如何在同時執行多個查詢時獲取所有受影響的行的計數?在MySql中執行多條語句時獲取所有受影響行的數量
我現在這樣做:
$stmt = '
update prodb set buyer = buyer+1 where userId = 1;
update prodb set seller = seller+1 where userId = 2;
';
$update = $dbc->prepare($stmt);
$update->execute();
$queryCount = $update->rowCount();
echo 'This is QueryCount '.$queryCount;
但是,即使有受到影響2行,我得到$queryCount
僅1
。有沒有辦法讓查詢計數爲2
。即第一個陳述的次數和第二個陳述的次數?我可以確認這裏有兩行受到影響。
我正在使用MySql PDO完成所有這些工作。
你不能。 'rowCount()'只能得到你執行的** LAST **查詢的結果。如果您執行兩個查詢,那麼這些查詢中的哪一個將成爲rowCount()報告中的一個。 rowCount()實質上只是調用'mysql_affected_rows()'api函數。 – 2014-10-02 16:15:06
有人說過關於推進光標的事情......你會知道那是什麼嗎? – jmenezes 2014-10-02 16:17:55
你沒有使用遊標。它們只能在存儲過程中使用。 – 2014-10-02 16:20:05