【发布时间】:2013-08-23 05:21:05
【问题描述】:
我正在开发后端的php-MySQL项目。它有各种文章可供浏览,分类为各种类别和一个用户登录系统。
我最近向它添加了一个观察列表功能,它使用户能够将文章添加到他们的观察列表/仪表板。
我有以下表格。
文章表
article-id(int) 主要-唯一
cat(varchar)
name(varchar)
subCat(varchar)
description(varchar)
添加日期
用户表
username(varchar) 主唯一
lname
fname
加入日期
.关注列表表
article-id(int)
用户名(varchar)
date_watch
正如我们所见,观察列表没有唯一键
我想让 (username + article-id) 成为唯一对
因为对于每个用户名,存在超过 1 个文章 ID,反之亦然
我只想插入和删除行,并且不需要更新它们
如何防止重复条目?
到目前为止,我一直在用 php 检查行数
"SELECT * FROM watchlist WHERE article-id={$id} AND username={$user}"
如果
mysql_num_rows() >1(not allowed to insert)
这工作正常,但如果错误地执行了 INSERT 命令,将会出现重复条目
如何防止它?
我正在使用 phpmyadmin
【问题讨论】:
-
您可以在这里找到答案:stackoverflow.com/questions/635937/…。