예, 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)