mysql防止重复插入相同记录 insert if not exists

WBOY
發布: 2016-06-07 17:51:08
原創
1389 人瀏覽過

我们在做数据库的数据保存时经常会用到相关的服务器脚本来防止重复保存相同数据,今天我们用insert if not exists条件来防止插入重复记录。

可以通过使用 EXISTS 条件句防止插入重复记录。

示例一:插入多条记录

假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:

Code:

 代码如下 复制代码

INSERT INTO clients
(client_id, client_name, client_type)
SELECT supplier_id, supplier_name, ’advertising’
FROM suppliers
WHERE not exists ( * from clients
where clients.client_id = suppliers.supplier_id);

示例一:插入单条记录

Code:

 代码如下 复制代码

INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, ’IBM’, ’advertising’
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 10345);

使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中

下面看 处理访求 

 代码如下 复制代码
$title ='www.111cn.net';
$sql = "Select * from tablename where title='$title'";
$query = mysql_query( $sql );
if( mysql_num_rows( $query ) )
{
 exit('不能重复插入相同的记录');
}
else
{
 $sql ="insert tablename values('$title')";
  mysql_query( $sql );
  exit('保存记录成功');
}

//这种方的不好之处在于多次查询了,并且代码也冗余了,好了到底你用那排除重复数据的方法你自己根据自己的情况而定吧。
更多详细内容请查看:

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!