Простой структура таблицы: ID_1 INT, ID_2 INT,MySQL многоколончатый уникальная индексация независимо от столбца
Это простая реляционная таблица создания связей между пользователями. id_1 и id_2 всегда будут user_ids, которые существуют в другой таблице. Я пытаюсь создать индексирование таким образом, что никакая пара user_ids не может существовать в этой таблице более одного раза, независимо от того, в каком столбце находится идентификатор. Например, указанные идентификаторы пользователя: 1 и 2, если у нас есть запись: 1,2
Тогда запись: 2,1 следует рассматривать как дубликат.
Все мои попытки уникальной индексации не работают таким образом, так как они специфичны для столбцов. Есть ли способ структурировать это или нужно делать с хранимыми процедурами или чем-то подобным?
Вам понадобятся триггеры для такого рода вещей. Но в целом таблица, где 'id_1' и' id_2' являются взаимозаменяемыми, обычно означает проблему дизайна, и вы настраиваете себя на какую-то болезненную логику 'JOIN', как только вы начинаете запрос с помощью таблицы. –
Аналогичный вопрос: http://dba.stackexchange.com/questions/22085/unique-combination-key-mysql –