2014-01-05 2 views
1

У меня есть таблица, содержащая несколько столбцов, и я хочу убедиться, что два отдельных столбца не имеют одинакового значения. На самом деле я не хочу позволять пользователю сообщать об ошибке несколько раз. Прежде чем вставлять отчет, я хочу убедиться, что один и тот же пользователь не сообщил о том же содержимом, поэтому не должно быть строки с похожим идентификатором пользователя и идентификатором контента. Что я имею в виду, отправляет запрос, чтобы проверить, возвращает ли он результат, а если нет, то вставьте отчет. Но должен быть лучший способ.Как убедиться, что две строки не имеют одинакового значения

Благодарим за помощь.

+3

'UNIQUE (userID, conentID)' –

+0

Спасибо всем :-) –

ответ

5

Вы можете создать составной индекс для идентификатора пользователя и идентификатора контента и ограничить UNIQUE этим индексом.

Предположим, у вас есть report таблицу:

alter table report add unique index(user_id, content_id); 

Теперь, когда вы пытаетесь вставить запись, которая дублирует пользователя и пару ID контента, вы получите сообщение об ошибке, которое вы можете обработать надлежащим образом в вашем приложении код.

Смежные вопросы