为两个字段添加唯一约束,如果两个字段都重复,则不允许重复条目

时间:2014-12-11 09:20:45

标签: php mysql

如果两列重复相同的值,是否有任何方法可以停止重复的条目。

我正在使用MySQL。

例如 我有一张表“投票”,字段是

id
vote
user_id
message_id

在此用户可以输入向上或向下投票的消息。 我不希望用户为同一条消息添加多个投票 即如果user_id 1投票至message_id 1 然后,如果同一个用户再次为同一个消息投票,我不想允许这个重复过程。

我的意思是有没有办法为字段user_id和message_id设置唯一约束,如果 user_id和message_id重复,则不允许插入行。

我知道我们可以使用php使用逻辑代码来阻止它。

我期待答案是否有办法只使用mysql。?

1 个答案:

答案 0 :(得分:2)

这应该有效:

ALTER TABLE `table`
 ADD CONSTRAINT uc_user_message UNIQUE (user_id ,message_id )