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)

更新時間: 26-Jun-2020

9K+ 次瀏覽

開啟您的職業生涯

完成課程即可獲得認證

開始
廣告頁