MySQL Multiple Column Уникальный ключ - PullRequest
3 голосов
/ 21 февраля 2011

Я знаком с синтаксисом create unique index 'blah' on 'some_table' ('col1','col2') однако я не уверен точно, как это будет вести себя. В частности, в документации написано

Список столбцов формы (col1, col2, ...) создает индекс из нескольких столбцов. Значения индекса формируются путем объединения значений указанных столбцов.

Кажется, что в некоторых случаях все может быть хорошо, но я хочу создать таблицу, в которой будут только уникальные числа. Таким образом, я мог видеть, что col1 равен 12, а col2 равен 2, что, как я могу сказать, будет объединено до 122, и тогда значения col1 1 и col2 22 будут совпадать с тем, что я не хочу. Есть ли способ определить разделитель для конкатенации или он уже есть? Должен ли я делать это по-другому?

Вот попытка диаграммы

table 1             middle               table 2
-------             ------               -------
t1_id               mid_id               t2_id
some_value          t1_id                another_value
                    t2_id

Я хочу, чтобы комбинация t1_id и t2_id была уникальной, но t1 может повторяться, а t2 может повторяться.

1 Ответ

3 голосов
/ 21 февраля 2011

Нет возможности или нет необходимости указывать разделитель. Индекс работает так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...