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ị).