我试图修改它,这样如果有人试图插入一个已经存在pageid和displayid的记录,它将忽略插入并重新加载页面,实际上不会做任何更改。
我有一个唯一的索引在我的页面和显示列上,但它仍然在这里插入重复项。
如何修复此问题以避免插入重复项而忽略插入请求?
$pageID = $_GET['pageID'];
$displayID = $_GET['displayID'];
$assignPage = "
INSERT IGNORE INTO display_to_page(page_id, display_id)
Values( '".$pageID."', '".$displayID."')
";
$performAssign = $mysqlConn->query($assignPage);
header("Location: displayPage.php?displayID=".$displayID);
exit;
1条答案
按热度按时间iezvtpos1#
如果两列上的索引都是唯一的,则不应在表中插入重复的索引。
这看起来像
unique(page_id, display_id)
在表定义(或类似约束)中,或:请注意,这些约束/索引位于
display_to_page
table。在数据库中有这样一个索引/约束,mysql将不允许表中有重复项。
您还应该检查传递到字符串中的id。实际上,您应该切换到使用参数。可能是坏字符不知何故进入了查询字符串。