什么是 UPDATE SET ... IN?
在 SQL 中,UPDATE 语句用于修改表中的现有记录。
当需要根据一组特定值(例如多个 ID)来更新数据时,可以结合 WHERE ... IN 子句使用。
基本语法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE column_name IN (value1, value2, value3, ...);
实际示例
假设有一个用户表 users,包含字段 id 和 status:
-- 将 id 为 1、3、5 的用户状态设为 'active'
UPDATE users
SET status = 'active'
WHERE id IN (1, 3, 5);
也可以配合子查询使用:
-- 将所有 VIP 用户的状态设为 'premium'
UPDATE users
SET status = 'premium'
WHERE id IN (SELECT user_id FROM vip_list);
注意事项
- 务必在执行
UPDATE前备份数据或先用SELECT验证条件。 IN列表中的值类型必须与列的数据类型一致。- 避免在
IN中使用 NULL,因为column IN (..., NULL)永远不会匹配 NULL 值。