В MySQL возможно ли иметь уникальное ограничение на строку? - PullRequest
1 голос
/ 09 февраля 2011

Похоже, что ограничение MySQL UNIQUE относится к столбцам за столбцами, я ищу способ убедиться, что строки уникальны для строк за строкой; угадать ответ - создать хеш путем объединения столбцов в строке, тогда я хочу быть УНИКАЛЬНЫМ, но УНИКАЛЬНЫМ для столбца, в котором хранится хэш для этой строки. Кроме того, сами строки, если я не создаю элемент управления, всегда будут УНИКАЛЬНЫМИ, поскольку идентификатор строки - SURROGATE_KEY; это означает, что это целочисленное последовательное увеличение на +1 от идентификатора целого числа в последней строке.

Ответы [ 2 ]

4 голосов
/ 09 февраля 2011

Вы можете создать индекс из нескольких столбцов UNIQUE.

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

Основным способом обеспечения уникальности строки является использование ограничения UNIQUE для каждого столбца или создание аналогичного индекса UNIQUE для каждого столбца.Если вы можете разрешить двум столбцам принимать одни и те же входные данные, но вам необходимо однозначно различать их, нет никаких причин, по которым вам понадобится что-то большее, чем первичный ключ (в основном столбец идентификатора).Другая вещь, которую вы можете сделать, это переключиться на базу данных хранилища столбцов, такую ​​как InfiniDB , которая имеет внешний интерфейс MySQL, или MonetDB , обе из которых являются альтернативами с открытым кодом.1007 *

...