少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(22)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          MySQL 當記錄不存在時插入,當記錄存在時更新.........具體解決辦法如下:
          1、INSERT INTO… ON DUPLICATE KEY UPDATE
          如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后會導致在一個UNIQUE索引或PRIMARY KEY中出現重復值,則執行舊行UPDATE。
          使用環境:
          例如,如果列a被定義為UNIQUE,并且包含值1,則以下兩個語句具有相同的效果:
          首先建表(先說UNIQUE):
          create table abin1(
          id int not null unique,
          username varchar(100),
          password varchar(100)
          )
          insert into abin1 (id,username,password) values (1,'abin1','varyall1') on duplicate key update username='abin12',password='varyall12';

          其次再說主鍵(primary key)類型的:
          create table abin2(
          id int not null,
          username varchar(100),
          password varchar(100),
          constraint pk_abin2 primary key(id)
          )
          執行語句:
          insert into abin2 (id,username,password) values (1,'abin1','varyall1') on duplicate key update username='abin12',password='varyall12';




          2、插入單行記錄:如果不存在插入記錄,如果存在記錄的話,就不再插入
          insert into abin2 (id,username,password) select 1,'abin12','varyall12' from dual
          where not exists (select k.* from abin2 k where k.id=1)


          3、示例一:插入多條記錄

          假設有一個主鍵為 id 的 abin2表,可以使用下面的語句:

          insert into abin2 (id,username,password) select 1,'abin12','varyall12' from dual
          where not exists (select k.* from abin2 k where k.id=1)

          4、
          我們在使用數據庫時可能會經常遇到這種情況。如果一個表在一個字段上建立了唯一索引,當我們再向這個表中使用已經存在的鍵值插入一條記錄,那將會拋出一個主鍵沖突的
          錯誤。當然,我們可能想用新記錄的值來覆蓋原來的記錄值。如果使用傳統的做法,必須先使用DELETE語句刪除原先的記錄,然后再使用INSERT插入新的記錄。而在MySQL中為
          我們提供了一種新的解決方案,這就是REPLACE語句。使用REPLACE插入一條記錄時,如果不重復,REPLACE就和INSERT的功能一樣,如果有重復記錄,REPLACE就使用新記錄的值
          來替換原來的記錄值。

          具體用法:
          replace into abin2 (id,username,password) values (2,'abin','varyall')




          http://blog.csdn.net/kesaihao862/article/details/6718443

          posted on 2013-05-14 11:14 abin 閱讀(542) 評論(0)  編輯  收藏 所屬分類: mysql
          主站蜘蛛池模板: 汽车| 六安市| 故城县| 电白县| 石城县| 维西| 阳江市| 哈尔滨市| 望都县| 渝北区| 万年县| 独山县| 丽江市| 甘泉县| 兴海县| 静海县| 胶州市| 平阳县| 寿宁县| 绥芬河市| 莱州市| 九台市| 丹阳市| 孟村| 成都市| 罗定市| 饶河县| 临猗县| SHOW| 军事| 玉溪市| 顺平县| 三门县| 达尔| 徐汇区| 邹平县| 黔西| 海林市| 龙游县| 平湖市| 邵武市|