6
我用它來更新(加分)排它mgroup
是15
SQL更新與相同值的多個行
UPDATE ibf_members SET points = points + 500 WHERE mgroup = 15
我可以用更新的行(加分+ 500),它有它的id
5
,7
,10
,11
,16
,25
,也有mgroup
爲15
?
我用它來更新(加分)排它mgroup
是15
SQL更新與相同值的多個行
UPDATE ibf_members SET points = points + 500 WHERE mgroup = 15
我可以用更新的行(加分+ 500),它有它的id
5
,7
,10
,11
,16
,25
,也有mgroup
爲15
?
您可以使用IN
子句來實現此目的,它比構建巨大的OR
列表更容易閱讀(並且可能更高效?)。嘗試是這樣的:
UPDATE ibf_members
SET points = points + 500
WHERE mgroup = 15
AND id IN (5, 7, 10, 11, 16, 25);
只需添加另一個條件到您的WHERE子句:
UPDATE ibf_members SET points = points + 500 WHERE mgroup = 15 AND id IN (5, 7, 10, 11, 16, 25)
有效率沒有區別(除了在查詢的傳輸更少的字節) –
@ypercube - 我我將不知道mySql查詢計劃器.. –
鏈接到MySQL文檔:[主優化](http://dev.mysql.com/doc/internals/en/optimizer-primary -optimizations.html)。搜索*「和MySQL將它們視爲相同 - 不需要將IN更改爲OR,反之亦然。」* –