1.插入的數(shù)據(jù)來(lái)源自其他表
表A有id, cola 字段
表B有id, cola, colb...等字段,其中id都為主鍵,cola為相同名字的列
現(xiàn)想將表B中colb>1000的記錄都插入表A中,SQL語(yǔ)句可以這樣寫(xiě):
代碼如下:
insert into A(id,cola) select id,cola from B where colb>1000
2.插入時(shí)排除(忽略)重復(fù)記錄
現(xiàn)表A中有一部分記錄了,再做如1中的插入操作可能遇到重復(fù)的key導(dǎo)致操作失敗
代碼如下:
insert ignore into A(id,cola) select id,cola from B where colb>1000
使用insert ignore into插入時(shí),會(huì)忽略掉表中已經(jīng)存在的記錄
3.插入時(shí)遇到重復(fù)記錄做更新操作
還有一個(gè)表C,與表B的結(jié)構(gòu)類(lèi)似,現(xiàn)需將表C中的數(shù)據(jù)插入A中,當(dāng)遇到重復(fù)的記錄時(shí),更新cola這一列為表C中的值
代碼如下:
insert into A(id,cola) select id,cola from C on duplicate key update A.cola=C.cola
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄
2025國(guó)考·省考課程試聽(tīng)報(bào)名