少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
          MySQL 當記錄不存在時插入,當記錄存在時更新.........具體解決辦法如下:
          1、INSERT INTO… ON DUPLICATE KEY UPDATE
          如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后會導致在一個UNIQUE索引或PRIMARY KEY中出現(xiàn)重復值,則執(zhí)行舊行UPDATE。
          使用環(huán)境:
          例如,如果列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)
          )
          執(zhí)行語句:
          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、
          我們在使用數據庫時可能會經常遇到這種情況。如果一個表在一個字段上建立了唯一索引,當我們再向這個表中使用已經存在的鍵值插入一條記錄,那將會拋出一個主鍵沖突的
          錯誤。當然,我們可能想用新記錄的值來覆蓋原來的記錄值。如果使用傳統(tǒng)的做法,必須先使用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 閱讀(537) 評論(0)  編輯  收藏 所屬分類: mysql
          主站蜘蛛池模板: 青海省| 彭山县| 高尔夫| 会理县| 萍乡市| 遂川县| 晋城| 天气| 绥中县| 金堂县| 陇西县| 白城市| 靖安县| 孝昌县| 白玉县| 普安县| 巨鹿县| 嘉峪关市| 长治市| 武川县| 嵊州市| 濮阳市| 梅河口市| 陈巴尔虎旗| 来凤县| 巴林右旗| 阿拉善左旗| 东城区| 攀枝花市| 德清县| 吉木乃县| 赤壁市| 双城市| 南溪县| 北京市| 永康市| 惠安县| 余庆县| 故城县| 绥中县| 青浦区|