ค่าคอลัมน์หลายแถวสามารถอัปเดตได้ในคำสั่ง UPDATE เดียว หากเงื่อนไขใน WHERE ตรงกับหลายแถว ในกรณีนี้ SET จะถูกนำไปใช้กับแถวที่ตรงเงื่อนไขทั้งหมด
ตัวอย่าง
สมมติมีตาราง tender ดังนี้:
mysql> SELECT * FROM tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 | ABD | 5000 | | 301 | ABE | 6000 | | 302 | ABF | 2500 | | 303 | ABG | 2600 | +-----------+---------+------+ 5 rows in set (0.00 sec)ต้องการอัปเดตคอลัมน์
rateโดยที่tender_idมากกว่าหรือเท่ากับ 300:mysql> UPDATE tender SET rate = rate + 1000 WHERE tender_id >= 300; Query OK, 4 rows affected (0.07 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> SELECT * FROM tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 | ABD | 6000 | | 301 | ABE | 7000 | | 302 | ABF | 3500 | | 303 | ABG | 3600 | +-----------+---------+------+ 5 rows in set (0.00 sec)สังเกตได้ว่าค่าในหลายแถวที่
tender_id >= 300ถูกอัปเดตแล้ว