记录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代码中对传入的参数进行验证,看是否有重复的参数已经存在于数据库中,如果有的话,就可以判断该条记录已存在,不允许重复添加。
例如,你有一条需要插入的记录为:
``` sqlINSERT 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结合的方法。