MySQL 如何使用行的现有值在UPDATE语句的SET子句中提供新值?
如果该行符合UPDATE语句的WHERE子句,则可以使用行的现有值在SET子句中提供新值。以下是演示的示例。
阅读更多:MySQL 教程
示例
假设我们有一个名为“tender”的表,如下所示 –
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中的值100,并根据新的“tender_id”更新’rate’列。
mysql> UPDATE tender SET tender_id = tender_id + 100, rate = tender_id + 500 Where tender_id > 300;
Query OK, 3 rows affected (0.06 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> Select * from tender;
+-----------+----------+------+
| tender_id | company | rate |
+-----------+----------+------+
| 200 | ABC | 1000 |
| 300 | ABD | 5000 |
| 401 | ABE | 901 |
| 402 | ABF | 902 |
| 403 | ABG | 903 |
+-----------+----------+------+
5 rows in set (0.00 sec)
极客教程