MySQL 如何使用行的现有值在UPDATE语句的SET子句中提供新值?

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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程