Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm bản ghi với REPLACE INTO mô phỏng DELETE và INSERT trong MySQL

REPLACE INTO hoạt động như DELETE + INSERT khi khóa trùng lặp. Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT,
    FirstName VARCHAR(50)
); Query OK, 0 rows affected (0.60 sec)

Tạo unique index trên Id:

mysql> ALTER TABLE DemoTable ADD UNIQUE id_index(Id);
Query OK, 0 rows affected (0.41 sec)

Chèn dữ liệu với REPLACE INTO (Id=100 lặp 2 lần):

mysql> REPLACE INTO DemoTable VALUES(100,'Chris'); Query OK, 1 row affected (0.10 sec)
mysql> REPLACE INTO DemoTable VALUES(101,'David'); Query OK, 1 row affected (0.13 sec)
mysql> REPLACE INTO DemoTable VALUES(100,'Bob');   Query OK, 2 rows affected (0.16 sec)

Lần thứ 3: Id=100 đã tồn tại → xóa bản ghi cũ, chèn bản ghi mới (Bob). Kết quả 2 rows affected.

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 100  | Bob       |
| 101  | David     |
+------+-----------+
2 rows in set (0.00 sec)

Lưu ý: REPLACE INTO yêu cầu PRIMARY KEY hoặc UNIQUE INDEX để xác định trùng lặp.