为MySQL数据库中的重复条目设置警告

时间:2012-05-24 13:59:56

标签: php mysql database

我有一个包含5列的表格。身份证,姓名,公司和标题。

所以我现在要做的是在提交过程中检查重复的条目,比较名称和姓氏组合匹配。然后,这应该导致重复条目的警报以及继续的选项并将其保存到数据库中,或者取消提交内容。

提前致谢。

2 个答案:

答案 0 :(得分:0)

你有这个选择:

  • 在“(姓名,姓氏)”
  • 上设置常规索引
  • 在每次插入之前,检查“(姓名,姓氏)”组合是否已存在
  • 如果不是EXISTS,请进行正常插入[在此由您来考虑在此1ms时间内其他人可能已完成相同插入的风险]
  • 如果EXISTS AND强制模式,则无论如何都要添加行
  • 如果是EXISTS而非强制模式,请根据您的规范前往客户
  • 如果客户想要保存,请在强制模式下重复操作。

如果您真的认为这是值得的,那么替代方法是无论如何插入行,并且AFTERWARDS检查是否有前一行。如果客户想保留记录,请保留记录,否则将其删除。

RGDS

答案 1 :(得分:0)

这是我尝试过的,但是没有找到问题中提到的可选选择代码。

$query = "INSERT INTO phptablo (Name, Surname, Company, Title) VALUES ('$name', '$surname', '$company', '$title')";

$sql = "SELECT Name AND Surname FROM phptablo WHERE Name = '$name' AND Surname= '$surname'";

$result = mysql_query($sql);
$count = mysql_num_rows($result);
$row = mysql_fetch_array($result);

echo "$sql" . '<br/><br/>'; 

echo "$result" . '<br/><br/>';

if ($count==0)
{
    if (!mysql_query($query)) 
    {
        die('Error: ' . mysql_error());
    }

    echo "Successful Entry!";
}
else 
{
    echo "Duplicate Entry found!";
}

QUITE NEW 到php&amp; MySQL因此无法真正充分利用您非常赞赏的答案。有没有机会添加一些代码可以让我选择保存或不保存?

我现在所处的位置,如果检测到重复的条目,则输入不会保存到数据库中,否则会立即存储。如果我编写的代码无论如何都无法以保存副本的方式进行更改,我还可以使用某种屏幕在保存后显示重复项,以便对它们进行编辑,删除等。