[php] MySQL - 忽略插入错误:重复条目


Answers

你可以使用triggers

另请查看触发器的介绍指南

Question

我在PHP工作。

请问将新记录插入到具有唯一字段的数据库中的正确方法是什么。 我正在批量插入大量记录,我只想插入新的记录,我不希望重复条目有任何错误。

有没有办法首先创建一个SELECT并在INSERT之前查看该条目是否已经存在 - 并且仅在SELECT没有返回记录时才进行INSERT? 我希望不是。

我想以某种方式告诉MySQL忽略这些插入而没有任何错误。

谢谢




$duplicate_query=mysql_query("SELECT * FROM student") or die(mysql_error());
$duplicate=mysql_num_rows($duplicate_query);
if($duplicate==0)
{
    while($value=mysql_fetch_array($duplicate_query)
    {
        if(($value['name']==$name)&& ($value['email']==$email)&& ($value['mobile']==$mobile)&& ($value['resume']==$resume))
        {
            echo $query="INSERT INTO student(name,email,mobile,resume)VALUES('$name','$email','$mobile','$resume')";
            $res=mysql_query($query);
            if($query)
            {
                echo "Success";
            }
            else
            {
                echo "Error";
            }
            else
            {
                echo "Duplicate Entry";
            }
        }
    }
}
else
{
    echo "Records Already Exixts";
}



数据库架构是什么样的?

您可以添加一个ID列,该列将为每个插入自动递增 ,以保证唯一的行。




Links