| 用途 | 修改行 |
|---|---|
| 语法 | UPDATE tbl SET 列=值[, …] [WHERE 条件] [LIMIT n] |
| 安全 | 先 SELECT 预演 |
安全更新流程
安全更新流程
SELECT COUNT(*) FROM orders WHERE status='pending' AND created_at < '2026-09-01';
BEGIN;
UPDATE orders SET status='closed' WHERE status='pending' AND created_at < '2026-09-01' LIMIT 1000;
COMMIT;多列与表达式更新
多列与表达式更新
UPDATE counters SET cnt = cnt + 1, updated_at = NOW() WHERE id = 7;无 WHERE 的 UPDATE 会修改全表;条件列无索引时会锁大量行,生产环境等同事故。