少年阿賓

          那些青春的歲月

            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 閱讀(545) 評論(0)  編輯  收藏 所屬分類: mysql
          主站蜘蛛池模板: 玉田县| 阿拉尔市| 海淀区| 武乡县| 富源县| 连云港市| 汉中市| 邢台市| 郧西县| 温州市| 丰城市| 靖宇县| 万年县| 普格县| 卢氏县| 永新县| 呼和浩特市| 夏邑县| 扎赉特旗| 左权县| 东丽区| 雅安市| 定远县| 景宁| 揭阳市| 大同县| 昭通市| 珲春市| 潼关县| 沽源县| 株洲市| 汉中市| 武强县| 许昌市| 巴楚县| 沙田区| 南皮县| 昌平区| 汪清县| 镶黄旗| 五寨县|