处理mysql Insert语句中的重复记录 [英] handling duplicate records in mysql Insert statement

查看:93
本文介绍了处理mysql Insert语句中的重复记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个php表单可以将数据输入到mysql数据库中,我的问题是如何处理重复的记录,例如,如果一个ID号已经存在,我该如何检查是否存在,然后如果它确实抛出了错误消息,提示说"ID已经在数据库中",这是一个插入语句的示例,但是我希望它在进入数据库之前检查数据库是否有重复记录

Im i have a php form to enter data into a mysql database, my question is how do i handle duplicate records for example if an ID number already exsists how do i check if exsists then if it does throw an error message, for expale saying "ID is already in the database",here is an example of an insert statement, however i would like it to check the database for duplicate records before entering

$values = $_POST;
foreach ($values as &$value) {
    $value = mysql_real_escape_string($value);
}

$sql1="INSERT INTO loan (loan_id)
VALUES ('$values[loan_id]')";

$result = mysql_query($sql1);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

推荐答案

只要字段上需要唯一的适当UNIQUE KEY或PRIMARY KEY,您在尝试插入重复记录时就会收到错误消息.然后,您可以在代码中测试该错误.

As long as there is a suitable UNIQUE KEY or PRIMARY KEY on the field that needs to be unique you will receive an error when you try to insert the duplicate record. You can then test for this error in your code.

$values = $_POST;
foreach ($values as &$value) {
    $value = mysql_real_escape_string($value);
}

$sql1="INSERT INTO loan (loan_id) VALUES ('$values[loan_id]')";

$result = mysql_query($sql1);
if (!$result) {
    if (mysql_errno() == 1586) {
        echo "ID is already in the database";
    } else {
        die('Invalid query: ' . mysql_error());
    }
}

这篇关于处理mysql Insert语句中的重复记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆