Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để cập nhật một cột có cùng giá trị (không phải tất cả) bằng cách sử dụng UPDATE, SET và LIMIT trong MySQL?

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.69 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable(Name) values('Carol');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable(Name) values('Chris');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(Name) values('David');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable(Name) values('Bob');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable(Name) values('Mike');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable(Name) values('Sam');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable(Name) values('Robert');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(Name) values('Adam');
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Đầu ra

+----+--------+
| Id | Name   |
+----+--------+
| 1  | Carol  |
| 2  | Chris  |
| 3  | David  |
| 4  | Bob    |
| 5  | Mike   |
| 6  | Sam    |
| 7  | Robert |
| 8  | Adam   |
+----+--------+
8 rows in set (0.00 sec)

Đây là truy vấn để cập nhật bảng và đặt một cột có cùng giá trị, ngoại trừ giá trị cột cuối cùng -

mysql> update DemoTable
   -> set Name="John"
   -> limit 7;
Query OK, 7 rows affected (0.20 sec)
Rows matched: 7 Changed: 7 Warnings: 0

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa.

mysql> select *from DemoTable;

Đầu ra

+----+------+
| Id | Name |
+----+------+
| 1  | John |
| 2  | John |
| 3  | John |
| 4  | John |
| 5  | John |
| 6  | John |
| 7  | John |
| 8  | Adam |
+----+------+
8 rows in set (0.00 sec)