2011-02-12 54 views
1

我正在PHP中开发一个发布Web应用程序的问题。禁用多个“喜欢”每个职位

当您登录,您可以点击一个特定的问题,然后一个新的页面被打开,有一个选项,以的具体问题。每一个“喜欢”的增量场评级表中的“问题”

现在我想做的是只有一个每用户喜欢启用。它是如何完成的? :/

这些是我的表。

问题:

qID int(3)   
qTitle varchar(200)    
userID int(2)   users -> userID (foreign key)  
qBody text     
rating int(2) 

USERS

userID int(2) (PRIMARY KEY)   
username varchar(40)   
fname varchar(40)   
lname varchar(40)   
password varchar(40)   
email varchar(50) 

回答

3

使用第三个表:

LIKES

userID int(2) 
qID int(2) 

当用户就像是一个问题,将行添加到该表。在允许“喜欢”之前,首先检查该表中是否有匹配的行。

4

您将需要一个表记录userIDqID上的2列的唯一约束(通过一个复合主键)。

你仍然可以保持rating柱和累加成功插入到这个表(可能通过触发器)作为业绩原因去归一化后场。