如何使用單條 MySQL `UPDATE` 語句來更新多行中的列值?
如果 `WHERE` 子句中指定條件與多行匹配,則多行中列值可以在單條 `UPDATE` 語句中更新。在這種情況下,`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)
現在,如果我們想更新其中 `tender_id` 大於或等於 300 的 `rate` 列,則可以使用以下查詢 −
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,其值已更新。
廣告
資料結構
網路技術
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP