Я разрабатываю приложение, которое должно сочетать людей. Каждый человек может соответствовать только с одним другим человеком .. Так, в приведенной ниже таблице, я пытаюсь сделать так, чтобы значения от user1 user2 & уникальны по обоим направлениям:Уникальность MySQL в нескольких полях
CREATE TABLE `match_table` (
`user1` int(11) NOT NULL,
`user2` int(11) NOT NULL,
UNIQUE KEY `user2` (`user2`),
UNIQUE KEY `user1` (`user1`))
Так, например, следующий оператор INSERT следует игнорировать строки 2 и 4. Или, как минимум, мне нужно уметь отмечать те строки, которые нужно игнорировать. Обратите внимание, что строка 5 в порядке, потому что строки 2 и 4 были проигнорированы.
INSERT IGNORE INTO match_table (user1, user2)
VALUES
(1,2),
(2,3),
(4,5),
(6,4),
(3,6)
Есть ли какой-либо индекс, который может это сделать? .. В противном случае есть некоторые ОБНОВЛЕНИЯ, которые я мог бы сделать после вставки, которые могли бы отмечать те, которые я хочу игнорировать?
Mark .. Спасибо .. Вы гений. Ответ довольно прост!! – Jesse
Я бы проголосовал за вас, но у меня только 1 репутация :( – Jesse
@Jesse: Я и кто-то еще поддержал ваш вопрос, так что у вас теперь есть репутация 11. Вам нужно только еще одно upvote ... :) –