0

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

通常在 MS SQL SERVER 我会去

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

但是在 MYSQL 中我无法找出正确的语法。

我可以使用小于、之间的运算符吗?>= and <=? 或者我可以像我在上面的语句中那样使用,使用where "ID" in ('','','','')

4

3 回答 3

2

前任:

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

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

于 2013-07-16T07:24:06.543 回答
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

>= <=

Update table
set status 'YES' 
where ID >=0 or ID<=n
于 2013-07-16T07:22:32.143 回答
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'
于 2013-07-16T07:24:27.513 回答