Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khi cập nhật khóa trùng lặp - Nhiều cột

Chà, cái này cũ rồi. Nhưng tất nhiên bạn chỉ cần cung cấp giá trị một lần , không có lý do gì để thêm nó lần thứ hai trong truy vấn (điều này hữu ích cho nhiều lần chèn hoặc các câu lệnh đã chuẩn bị):

INSERT INTO table1
  (col1, col2, col3, col4)
VALUES
  ('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
  col2=VALUES(col2),
  col3=VALUES(col3) [,...]

Điều này có lợi thế nhất là nó sẽ vẫn hoạt động cho một câu lệnh chèn nhiều:

INSERT INTO table1
  (col1, col2, col3, col4)
VALUES
  ('val1', 'val2', 'val3', 'val4'),
  ('val5', 'val6', 'val7', 'val8'),
  ('val9', 'val10', 'val11', 'val12')
ON DUPLICATE KEY UPDATE
  col2=VALUES(col2),
  col3=VALUES(col3) [,...]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để lưu trữ IP trong cơ sở dữ liệu?

  2. Viết hoa chữ cái đầu tiên của mỗi từ, trong bảng hiện có

  3. MySQL:trả về các hàng đã cập nhật

  4. Độ dài dữ liệu LONGBLOB tối đa Mysql PDO khi tìm nạp

  5. Sử dụng trình kích hoạt MySQL để ghi lại tất cả các thay đổi của bảng vào một bảng phụ