UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col1=expr1 [, col2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col1=expr1 [, col2=expr2 ...] [WHERE where_definition]
支持 INNER JOIN、LEFT JOIN 等所有 JOIN 類型;不可使用 ORDER BY / LIMIT。
LOW_PRIORITY:延遲執行直到無讀鎖IGNORE:遇重複鍵衝突/數據轉換錯誤跳過該行繼續SET 從左到右求值:SET a=a*2, a=a+1 先乘後加NOT NULL 列設 NULL 會轉為默認值(數字 0、字符串 ''、日期零值)並產生警告ROW_COUNT() / C API 可獲匹配/更新/警告數UPDATE publishers SET city='Atlanta', state='GA';
UPDATE authors SET state='PC', city='Bay City' WHERE state='CA' AND city='Oakland';
UPDATE titles
SET ytd_sales = (SELECT SUM(qty) FROM sales
WHERE sales.title_id = titles.title_id
AND sales.ord_date = (SELECT MAX(ord_date) FROM sales));
UPDATE items, month SET items.price = month.price WHERE items.id = month.id;
UPDATE authors SET state='ZZ' WHERE au_id IN (SELECT au_id FROM authors ORDER BY au_lname LIMIT 10);
LIMIT 1000 避免長鎖表EXPLAIN 確認走 ref/rangeWHERE 全表更新ON UPDATE CASCADE