什么是 UPDATE WHERE IN?
在 SQL 中,UPDATE 语句用于修改表中的现有记录。
当需要根据一组特定值来筛选要更新的行时,可以结合 WHERE IN 子句使用。
基本语法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE column_name IN (value1, value2, value3, ...);
使用示例
假设有一个用户表 users,结构如下:
id | name | status
---|-------|--------
| Alice | active
| Bob | inactive
| Carol | active
| Dave | pending
现在我们想将 ID 为 1、2 和 4 的用户的 status 字段统一更新为 'verified':
UPDATE users
SET status = 'verified'
WHERE id IN (1, 2, 4);
注意事项
- 确保
IN列表中的值类型与列的数据类型一致。 - 如果列表很长,可考虑使用子查询替代:
WHERE id IN (SELECT id FROM temp_ids) - 执行前建议先用
SELECT验证条件是否正确,避免误更新。
适用数据库
该语法在主流关系型数据库中通用,包括:
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- Oracle