在发送表单时防止数据库中出现重复条目

x3naxklr  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(261)

这个问题在这里已经有答案了

如何检查mysql中是否存在行(i、 e.检查mysql中是否有邮件(4个答案)
两年前关门了。
我正在努力防止数据库中出现重复条目。我在表单上有两个选择框,它们由category和publisher两个表填充。如果我将相同的值发送到数据库,则使用下面的update方法复制条目。我可以做哪些更改,以便在更新时不复制条目?

$sqlQuery = "UPDATE records
                INNER JOIN category ON category.catID = records.catID
                INNER JOIN publisher ON publisher.pubID = records.pubID
                SET title=$title, year=$year, desc=$desc, price=$price, pub=$pub
                WHERE recID=$recID"; 

        $stmt = $dbConn->prepare($sqlQuery);
        $stmt->execute(array($sqlQuery));
jm81lzqq

jm81lzqq1#

您只需使用使行唯一的列创建唯一键。。。

ALTER TABLE records
ADD CONSTRAINT U_records UNIQUE (title,pub);

下面是使用 title 以及 pub 柱。这意味着可以有多个重复的标题,但他们需要一个不同的酒吧。请根据您的用例进行修改,您可以添加任意多的列,但出于性能原因,请将其保持在尽可能低的水平。
添加此约束将产生来自mysql的错误(如果irc?),则为约束冲突。你需要抓住它来告诉用户。

相关问题