2014-10-02 53 views
0

在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(); 

回答

2

不要使用union進行更新。使用multi_query(如果你正在運行php)。

$db_link->multi_query("update prodb set buyer = buyer+1 where userId = 1; update prodb set seller = seller+1 where userId = 2;"); 

永遠不要忘記在最後的sql語句中添加分號。

+0

使用PHP的PDO時,這可能嗎? – jmenezes 2014-10-02 14:33:05

+0

似乎是這樣。 [鏈接](http://stackoverflow.com/questions/6346674/pdo-support-for-multiple-queries-pdo-mysql-pdo-mysqlnd) – 2014-10-02 14:36:23

+0

我得到它的工作,但有趣的是,它仍然返回1作爲受影響的行,即使受影響的行數是兩個。 – jmenezes 2014-10-02 14:59:45

相關問題