Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

UPDATE 문의 SET 절에 새 값을 제공하기 위해 행의 기존 값을 어떻게 사용할 수 있습니까?

<시간/>

해당 행이 UPDATE 문의 WHERE 절과 일치하는 경우 행의 기존 값을 사용하여 SET 절에 새 값을 제공할 수 있습니다. 다음은 이를 보여주는 예입니다.

예시

다음과 같이 '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)