如何避免重复mysql表项?

时间:2013-08-25 04:58:36

标签: php mysql

我似乎正在使用这个PHP代码来复制表条目。每次我点击刷新时,它插入我硬编码的内容并打印以前的条目(即使它们的值相同)。

我想知道的是,如果值相同,我该如何避免重复?我还不希望代码在页面刷新时复制条目。

//insert data entries
mysqli_query ($con, "INSERT IGNORE INTO alarms(Title, Description, DT)
    VALUES('get', 'Agha will eat', '2013-08-05 00:15:12')");

这是打印功能。

//print out data entries
$result = mysqli_query($con,"SELECT * FROM alarms");
while ($row = mysqli_fetch_array($result))
 {
    echo $row['alarmID'] . " <br> " . $row['Title'] . " <br> " . $row['Description'] . " <br> " . $row['DT'];
 }

1 个答案:

答案 0 :(得分:2)

根据您想要独特的值,在UNIQUE表格中创建alarm约束。

假设对于每一行,您希望TitleDescriptionDT三元组是唯一的。然后,按以下方式在UNIQUE表格中添加alarm约束 -

ALTER TABLE alarm ADD CONSTRAINT uc_alarm UNIQUE (Title, Description, DT)

如果您这样做,那么每当您尝试插入TitleDescriptionDT与现有行匹配的行时,MySQL都会生成错误并拒绝该行插入命令。

查看this short tutorial以了解UNIQUE约束的概述。