通过主键更新多行
Update Multiple ROW by Primary Key
我有超过 2000 条数据,但我输入的状态编号有误。我应该输入 1(已部署)但我使用 2(在库存中)。
如何将状态从 2 更改为具有数千条数据的 1?
我正在尝试使用此代码
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '1'
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '2';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '3';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '3';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '4';
如果您有很多 ae_status = 2 的记录并且您想将它们更改为 1
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_status = '2';
不确定为什么不能简单地执行:
UPDATE
asset_existing
SET
ae_status = '1'
WHERE
ae_serial_number IN ('1', '2', '3', ...)
AND ae_status = '2'
;
?
为了安全起见,我在 where 子句中添加了 ae_status = '2'
。
我有超过 2000 条数据,但我输入的状态编号有误。我应该输入 1(已部署)但我使用 2(在库存中)。
如何将状态从 2 更改为具有数千条数据的 1?
我正在尝试使用此代码
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '1'
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '2';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '3';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '3';
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_serial_number = '4';
如果您有很多 ae_status = 2 的记录并且您想将它们更改为 1
UPDATE asset_existing
SET
ae_status = '1'
WHERE ae_status = '2';
不确定为什么不能简单地执行:
UPDATE
asset_existing
SET
ae_status = '1'
WHERE
ae_serial_number IN ('1', '2', '3', ...)
AND ae_status = '2'
;
?
为了安全起见,我在 where 子句中添加了 ae_status = '2'
。