天天看點

mysql 不完全插入_MySqlinsert插入操作不完全指北_MySQL

bitsCN.com

MySql insert插入操作不完全指北

1.插入的資料來源自其他表

表A有id, cola 字段

表B有id, cola, colb...等字段,其中id都為主鍵,cola為相同名字的列

現想将表B中colb>1000的記錄都插入表A中,SQL語句可以這樣寫:

[sql] insert into A(id,cola) select id,cola from B where colb>1000

2.插入時排除(忽略)重複記錄

現表A中有一部分記錄了,再做如1中的插入操作可能遇到重複的key導緻操作失敗

[sql] insert ignore into A(id,cola) select id,cola from B where colb>1000

使用insert ignore into插入時,會忽略掉表中已經存在的記錄

3.插入時遇到重複記錄做更新操作

還有一個表C,與表B的結構類似,現需将表C中的資料插入A中,當遇到重複的記錄時,更新cola這一列為表C中的值

[sql] insert into A(id,cola) select id,cola from C on duplicate key update A.cola=C.cola

bitsCN.com

本條技術文章來源于網際網路,如果無意侵犯您的權益請點選此處回報版權投訴

本文系統來源:php中文網