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

cập nhật nếu tồn tại hai trường, chèn nếu không (MySQL)

Một chỉ mục duy nhất trong MySQL không nhất thiết phải nằm trên một cột duy nhất. Bạn có thể thêm chỉ mục DUY NHẤT trên nhiều cột đơn giản bằng cách chỉ định nhiều cột hơn trong ALTER TABLE..ADD UNIQUE của bạn tuyên bố:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

Giờ đây, bạn có thể sử dụng INSERT INTO...ON DUPLICATE KEY thông thường tuyên bố.

SQLFiddle DEMO ( lưu ý rằng nhiều giá trị lặp lại không được thêm vào - tất cả các giá trị khác đều )

Lưu ý :

Nếu một trong hai là NULL, nó sẽ không được tính là duy nhất. mykey là 'bar' và myfoo là NULL có thể được thêm vào vô cùng mặc dù chúng có các giá trị "giống nhau" (NULL không thực sự là một giá trị).




  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ác lệnh sao lưu và khôi phục MySQL để quản trị cơ sở dữ liệu

  2. SQL BẤT KỲ &TẤT CẢ các toán tử

  3. Đặt múi giờ trong PHP và MySQL

  4. com.mysql.jdbc.PacketTooBigException java

  5. Xóa, Cập nhật với các bảng dẫn xuất?