English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Se puede usar UPDATE con LIMIT en MySQL?

Sí, se puede usar LIMIT junto con la consulta UPDATE en MySQL. Vamos a ver cómo.

Para nuestro ejemplo, primero crearemos una tabla. La orden CREATE se utiliza para crear tablas.

mysql>CREATE table tblUpdateLimit
-> (
-> id int,
-> name varchar(100)
-> );

Los registros se insertaron con la ayuda de la orden INSERT.

mysql> INSERT into tblUpdateLimit values(1,'John');
mysql> INSERT into tblUpdateLimit values(2,'Carol');
mysql> INSERT into tblUpdateLimit values(3,'Smith');
mysql> INSERT into tblUpdateLimit values(4,'Kayle');
mysql> INSERT into tblUpdateLimit values(5,'David');
mysql> INSERT into tblUpdateLimit values(6,'Jason');
mysql> INSERT into tblUpdateLimit values(7,'Larry');
mysql> INSERT into tblUpdateLimit values(8,'Serhat');
mysql> INSERT into tblUpdateLimit values(9,'Winny');

Para mostrar la tabla superior, esta es la consulta.

mysql> SELECT *from tblUpdateLimit;

A continuación se muestra el resultado.

+------+--------+
| 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)

Ahora veamos la sintaxis de la consulta UPDATE con límites.

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);

Ahora ejecutamos la consulta para lograr nuestro objetivo y usamos para establecer el nombre 'Adam' (limitado a7).

mysql> UPDATE tblUpdateLimit SET name = 'Adam'
-> WHERE id IN (
SELECT id FROM (select id from tblUpdateLimit order by id asc limit 0,7);
Filas coincidentes: 7 Cambiado: 7 Advertencias: 0

Verificar si la tabla se ha actualizado.

mysql> SELECT *from tblUpdateLimit;

Este es el resultado.

+------+--------+
| 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)