批量插入一張表的數據,並且生成不同的uuid 字符截取 批量更新 去除重復數據


INSERT INTO party_branch
SELECT UUID(),m.name,m.secreta_name,m.contacts_name,m.contact_phon,m.category_name,m.type,'admin','admin', NOW(),NOW() FROM mypary_branch m

 

UPDATE party_branch SET id =REPLACE(id,'-','')

 

必須分開執行 如果

 

INSERT INTO party_branch
SELECT  REPLACE(UUID(),'-',''),m.name,m.secreta_name,m.contacts_name,m.contact_phon,m.category_name,m.type,'admin','admin', NOW(),NOW() FROM mypary_branch m

這樣生成的uuid所有數據均為相同

 

orcal截取字符串  如  bmfw.snb.qz  這個字符串  截取得到未bmfw  

select substr(loginname,0,INSTR(loginname,'.', 1, 1)-1) from GOVERNMENTSYNCUSERRECORD;   loginname為GOVERNMENTSYNCUSERRECORD表的一個字段

INSTR(loginname,'.', 1, 1)表示從第一開始查找第一個出現.的位置

orcal批量更新

merge into GOVERNMENTSYNCUSERRECORDzj711 t1
using (select b.id,b.orgcoding,b.loginname from governmentusermappingzj711 b) t
on (t1.orgcoding=t.orgcoding and t1.loginname=t.loginname)
when matched then
update set t1.mappingid = t.id;

 

delete from GOVERNMENTORGMAPPINGzj711 where id in(
select id from GOVERNMENTORGMAPPINGzj711 where ( syncorgname,orgcoding) in(
select syncorgname,orgcoding from GOVERNMENTORGMAPPINGzj711
group by syncorgname,orgcoding having count(1)>1)
and
id not in (select max(id) from GOVERNMENTORGMAPPINGzj711
group by syncorgname,orgcoding having count(*)>1)
)

 

 

 

mysql的批量更新   

 UPDATE party_member_info_0925 p,attachment a SET  p.avatar = a.id  WHERE  a.target_module = 'PartyMemberPhoto' AND p.id=a.target_id


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM