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

MySQL에서 LIMIT와 함께 UPDATE 쿼리를 사용할 수 있습니까?

<시간/>

예, MySQL에서 LIMIT와 함께 UPDATE 쿼리를 사용할 수 있습니다. 방법을 알아보겠습니다.

이 예에서는 먼저 테이블을 만듭니다. CREATE 명령은 테이블을 생성하는 데 사용됩니다.

mysql>CREATE table tblUpdateLimit
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.53 sec)

레코드는 INSERT 명령을 사용하여 삽입됩니다.

mysql>INSERT into tblUpdateLimit values(1,'John');
Query OK, 1 row affected (0.54 sec)

mysql>INSERT into tblUpdateLimit values(2,'Carol');
Query OK, 1 row affected (0.12 sec)

mysql>INSERT into tblUpdateLimit values(3,'Smith');
Query OK, 1 row affected (0.10 sec)

mysql>INSERT into tblUpdateLimit values(4,'Kayle');
Query OK, 1 row affected (0.44 sec)

mysql>INSERT into tblUpdateLimit values(5,'David');
Query OK, 1 row affected (0.13 sec)

mysql>INSERT into tblUpdateLimit values(6,'Jason');
Query OK, 1 row affected (0.18 sec)

mysql>INSERT into tblUpdateLimit values(7,'Larry');
Query OK, 1 row affected (0.15 sec)

mysql>INSERT into tblUpdateLimit values(8,'Serhat');
Query OK, 1 row affected (0.15 sec)

mysql>INSERT into tblUpdateLimit values(9,'Winny');
Query OK, 1 row affected (0.18 sec)

위의 표를 표시하기 위한 쿼리는 다음과 같습니다.

mysql> SELECT *from tblUpdateLimit;

다음은 출력입니다.

+------+--------+
| id   |name    |
+------+--------+
| 1    | John   |
| 2    | Carol  |
| 3    | Smith  |
| 4    | Kayle  |
| 5    | David  |
| 6    | Jason  |
| 7    | Larry  |
| 8    | Serhat |
| 9    | Winny  |
+------+--------+
9 rows in set (0.00 sec)

이제 제한이 있는 UPDATE 쿼리를 사용하는 구문을 살펴보겠습니다.

UPDATE yourTableName SET column_name='some value’'
WHERE column_name1 IN (
SELECT column_name1 FROM (
select column_name1 from yourTableName order by column_name1 asc limit integerValue,integerValue)
anyAliasName );

목적을 달성하기 위해 지금 쿼리를 구현하고 이를 사용하여 'Adam'이라는 이름을 7개로 제한합니다.

mysql> UPDATE tblUpdateLimit SET name = 'Adam'
-> WHERE id IN (
SELECT id FROM ( select id from tblUpdateLimit order by id asc limit 0,7)l);
Query OK, 7 rows affected (0.27 sec)
Rows matched: 7 Changed: 7 Warnings: 0

테이블의 업데이트 여부를 확인하세요.

mysql> SELECT *from tblUpdateLimit;

다음은 출력입니다.

+------+--------+
| id   | name   |
+------+--------+
| 1    | Adam   |
| 2    | Adam   | 
| 3    | Adam   |
| 4    | Adam   |
| 5    | Adam   |
| 6    | Adam   |
| 7    | Adam   |
| 8    | Serhat |
| 9    | Winny  |
+------+--------+
9 rows in set (0.00 sec)