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

هل يمكن استخدام UPDATE مع LIMIT في MySQL؟

是的,可以在MySQL中将UPDATE查询与LIMIT一起使用。让我们看看如何。

对于我们的示例,我们将首先创建一个表。CREATE命令用于创建表。

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

记录是在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');

要显示上表,这是查询。

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);
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)
من المحتمل أن تفضّل