国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql防止重復插入相同記錄 insert if not exists

2024-07-24 12:39:18
字體:
來源:轉載
供稿:網友

我們在做數據庫的數據保存時經常會用到相關的服務器腳本來防止重復保存相同數據,今天我們用insert if not exists條件來防止插入重復記錄.

可以通過使用 EXISTS 條件句防止插入重復記錄.

示例一:插入多條記錄,假設有一個主鍵為 client_id 的 clients 表,可以使用下面的語句:

Code:代碼如下:

  1. INSERT INTO clients 
  2. (client_id, client_name, client_type) 
  3. SELECT supplier_id, supplier_name, ’advertising’ 
  4. FROM suppliers 
  5. WHERE not exists (select * from clients 
  6. where clients.client_id = suppliers.supplier_id); 

示例二:插入單條記錄

Code:代碼如下:

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

使用 dual 做表名可以讓你在 select 語句后面直接跟上要插入字段的值,即使這些值還不存在當前表中.

下面看php mysql處理訪求,代碼如下:

  1. $title ='m.survivalescaperooms.com'
  2. $sql = "Select * from tablename where title='$title'"
  3. $query = mysql_query( $sql ); 
  4. if( mysql_num_rows( $query ) ) 
  5.  exit('不能重復插入相同的記錄'); 
  6. else 
  7.  $sql ="insert tablename values('$title')"
  8.   mysql_query( $sql ); 
  9.   exit('保存記錄成功'); 

這種方的不好之處在于多次查詢了數據庫,并且代碼也冗余了,好了到底你用那排除重復數據的方法你自己根據自己的情況而定吧.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳州市| 双桥区| 兴义市| 长岛县| 开江县| 克山县| 常州市| 石阡县| 贵定县| 江川县| 莱州市| 栖霞市| 安多县| 临泽县| 平武县| 朝阳区| 于田县| 武山县| 武陟县| 通辽市| 景泰县| 灵宝市| 浦北县| 岳西县| 林州市| 丁青县| 彭州市| 湟中县| 镇康县| 雅江县| 巫山县| 伊川县| 乌鲁木齐县| 天台县| 宿松县| 伊春市| 定襄县| 上高县| 桃园市| 长子县| 石狮市|