在1个事务中更新多个mysql记录

时间:2013-07-16 07:19:59

标签: mysql

我正在尝试解决如何在1个事务中更新多个记录。

通常在MS SQL SERVER中我会去

Update table
set status 'YES' where ID in ('1', '2', '3', '4', '5', '6', etc)

然而,在MYSQL中,我无法找到正确的语法。

我可以使用少于,而不是运营商吗? >= and <=? 或者我可以使用where "ID" in ('','','','')

,就像我在上面的语句中所做的那样

3 个答案:

答案 0 :(得分:2)

例如:

UPDATE files SET col_x = %s 
WHERE ROWID in 
(SELECT ROWID FROM table_name WHERE col_a = '%s' AND col_b = 0 );

您可以使用嵌套查询来选择Rows,然后在单个语句中更新行。

答案 1 :(得分:0)

是在MYSQL中,您可以自由运行上述查询::

Update table
set status 'YES' 
where ID in ('1', '2', '3', '4', '5', '6', etc)

如果它是正常序列,您可以尝试使用

<强>之间

  Update table
  set status 'YES' 
  where ID between 1 and n

&gt; =&lt; =

Update table
set status 'YES' 
where ID >=0 or ID<=n

答案 2 :(得分:0)

试试这个

Update table
set status = 'YES' 
where ID in ('1', '2', '3', '4', '5', '6')

您也可以使用BETWEEN

Update table
set status = 'YES' 
where ID BETWEEN '1' AND '6'