해당 행이 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)