2013-10-06 3 views
0

Как я могу достичь такой уникальности .. ни один столбец не единственный, только строка, например. ID # 2 имеет запись в октябре, ID # 2 не должен иметь 2 данные с res_month = «Октябрь»Выбор уникальной строки

res_id | res_month | res_year 
    1 | September | 2013 
    2 | September | 2013 
    3 | September | 2013 
    4 | September | 2013 
    2 | October | 2013 
    3 | October | 2013 
    4 | October | 2013 
+1

Добавить уникальное ограничение на res_id колонки – Deepak

+0

Вы хотите, чтобы убедиться, что уникальные записи будут вход в res_id колонке вашей БД (как полагают Дипак), или вы хотите получить уникальные записи в своем приложении VB.NET, хотя столбец res_id может содержать повторяющиеся значения? (как предполагалось asantaballa)? Если вы имели в виду первый вариант, вы должны удалить тег VB.NET, чтобы избежать путаницы. Просьба уточнить. – varocarbas

+0

Я вижу .. Имейте в виду, что обычное разбирательство в этих случаях (столбец, состоящий из уникальных целых чисел) опирается на «auto increment» (http://dev.mysql.com/doc/refman/5.0/en/example- авто-increment.html). PS: возможно, вам стоит попытаться быть более общительным с людьми, которые намереваются помочь вам (самим себе и самим). Вам даже не нужно делать это, чтобы показать свое уважение и признательность, но только по холодным, практическим соображениям: быстро и точно общаться, что вы хотите, ускорить процесс оказания помощи (также не забывайте, что помощники могут не чувствовать как помочь вам снова). – varocarbas

ответ

0

Добавить уникальное ограничение на res_id колонке Это не позволит повторяющиеся значения в столбце res_id

1

вы можете построить UNIQUE KEY contraint над несколькими полями:

ALTER TABLE tbl ADD UNIQUE KEY foo (res_id, res_month, res_year); 

(foo это просто название для contraint - вы можете выбрать более информативное имя)

Это ограничение гарантирует, что каждая комбинация res_id, res_month и res_year может произойти только один раз.

С этим на месте INSERT с уже сохраненной комбинацией дает ошибку Unique constraint failed. В вашем примере, это будет не потому, что сочетание уже существует:

INSERT INTO tbl (res_id, res_month, res_year) VALUES (2, 'October', '2013'); 
Смежные вопросы