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

Có thể thực hiện chèn hoặc cập nhật trong cùng một truy vấn MySQL không?


Có, sử dụng CẬP NHẬT KHÓA KÉP BẬT. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable(Id int NOT NULL PRIMARY KEY, Number int);
Query OK, 0 rows affected (0.83 sec)

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

mysql> insert into DemoTable values(1,190) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(2,130) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(1,190) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 2 rows affected (0.14 sec)
mysql> insert into DemoTable values(2,130) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 2 rows affected (0.17 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;

Điều này sẽ tạo ra kết quả sau. Chúng tôi đã chèn và cập nhật các bản ghi trong cùng một truy vấn -

+----+--------+
| Id | Number |
+----+--------+
| 1  | 200    |
| 2  | 140    |
+----+--------+
2 rows in set (0.00 sec)