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

단일 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)

위의 결과 집합에서 soft_id>=300인 여러 행의 값이 업데이트되었음을 ​​알 수 있습니다.