记录PHP之MySQL踩坑:如何防止重复记录(php mysql 重复)

MySQL数据库在实际开发的时候很容易出现重复记录的情况,本文将介绍在php中如何防止重复记录。

首先,我们可以通过建立唯一索引合约来避免重复记录,例如:

“` sql

CREATE TABLE clazz (

id INT NOT NULL PRIMARY KEY,

name VARCHAR(50) NOT NULL UNIQUE

);


这样,如果我们有重复的name记录,MySQL数据库就会发出一个错误信息,然后通过错误处理程序禁止插入这些重复记录。

另一种方法是,在PHP代码中对传入的参数进行验证,看是否有重复的参数已经存在于数据库中,如果有的话,就可以判断该条记录已存在,不允许重复添加。

例如,你有一条需要插入的记录为:

``` sql
INSERT INTO clazz VALUES(3,'PHP');

在实际的发送插入前,先检查一下有没有‘PHP’这个类名存在于数据库中,这可以用SQL查询实现:

“`sql

SELECT name FROM clazz where name=’PHP’;


现在,我们可以在PHP中运行这条sql语句,取得返回值,检查不存在,则可以插入。

```php

$connect = mysqli_connect("localhost","usr","pass","db_name");
//这里的内容为MySQL数据库的配置内容,根据实际情况进行修改
$name = 'PHP';
$query = "SELECT name FROM clazz where name='".$name."'";
$result = mysqli_query($connect,$query);
if(mysqli_num_rows($result) > 0)
{
echo '记录已存在';
}
else
{
$query_insert = "INSERT INTO clazz VALUES(3,'PHP');";
$result = mysqli_query($connect,$query_insert);
if($result)
echo '添加成功';
else
echo '添加失败,出现未知错误';
}
?>

关于MySQL踩坑记录,防止重复记录,我们介绍了两种利用MySQL和PHP结合的方法。


数据运维技术 » 记录PHP之MySQL踩坑:如何防止重复记录(php mysql 重复)