如何不让用户在mysql中保存两次相同的项目

时间:2015-03-29 14:27:35

标签: php mysql sql apache

在我的php / mysql应用程序中,我让用户保存项目,例如:"添加到列表"

我应该如何构建表以防止用户两次保存相同的项目?

现在我的表看起来像

id - 主键,递增

u_id - 外键,指向用户表中用户主键的链接

i_id - 外键,指向项目表中项目主键的链接

为了防止用户两次保存相同的项目,我可以构建我的表吗?或者在进行保存/插入查询之前是否必须进行检查?

1 个答案:

答案 0 :(得分:1)

您只想在两列上使用唯一索引(或唯一约束,这是相同的事情):

create unique index idx_mytable_u_i on (u_id, i_id)

数据库将保证不插入重复项。