我正在开发一个用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)
答案 0 :(得分:4)
您需要一个记录userID
和qID
的表格,在2列上具有唯一约束(通过复合主键)。
出于性能原因,您仍然可以保留rating
列并在成功插入此表后(可能通过触发器)作为非规范化字段进行增量。
答案 1 :(得分:3)
使用第三张表:
LIKES
userID int(2)
qID int(2)
当用户'喜欢'时,请在该表中添加一行。在允许“喜欢”之前,首先检查该表中没有匹配的行。