Предположим, есть таблица со столбцами a
и b
и составным уникальным ключом из пары a,b
. И есть строка a=1, b=2
.
Поэтому я не могу вставить другую строку a=1, b=2
, это нормально.
Но как я мог отрицать в этой ситуации также вставку строки a=2, b=1
?
Например:
CREATE TABLE `t` (`a` INT, `b` INT);
ALTER TABLE `t` ADD UNIQUE(`a`, `b`);
INSERT INTO `t` (`a`, `b`) VALUES ('1', '2');
INSERT INTO `t` (`a`, `b`) VALUES ('2', '1');
Вторая вставка работает, хотя я ожидаю, что она потерпит неудачу.