MySQL问题

AB表数据转移

Posted by dm on December 30, 2019

将A表信息同步至B表中,字段对应,B表为空,插入操作

insert into xcb_ship_info(id,user_id,ship_num,cargo_capacity,ais_number,mmsi_number,contact_person,contact_phone,shipsur_pic,ship_license_pic,port_license_pic,coas_license_pic,status,create_time,update_time)
select MD5(RAND()),id,ship_num,cargo_capacity,ais_number,mmsi_number,contact_person,contact_phone,shipsur_pic,ship_license_pic,port_license_pic,coas_license_pic,status,create_time,update_time
from xcb_user_infor 
where user_type = 1;

同步A表中 船号 信息至 B表,B表不为空,更新操作

xcb_emptyship_end表中
update xcb_emptyship_end a set a.ship_num=(select b.ship_num from xcb_user_infor b where a.user_id=b.id) where ship_num is null

根据用户id单独同步船只信息

insert into xcb_ship_info(id,user_id,ship_num,cargo_capacity,ais_number,mmsi_number,contact_person,contact_phone,shipsur_pic,ship_license_pic,port_license_pic,coas_license_pic,status,create_time,update_time)
select MD5(RAND()),id,ship_num,cargo_capacity,ais_number,mmsi_number,contact_person,contact_phone,shipsur_pic,ship_license_pic,port_license_pic,coas_license_pic,status,create_time,update_time
from xcb_user_infor 
WHERE 
 id IN (select id from xcb_user_infor where id not in (select user_id from xcb_ship_info) and user_type=1 and (ship_num != '' OR ship_num IS NOT NULL))
AND user_type = 1;

增加船只经营范围信息

INSERT INTO xcb_ship_goods_type (id, user_id, ship_id, goods_type_id, state, create_time, update_time) 
SELECT MD5(RAND()),user_id, id, '100000000000000000', '1', NOW(), NOW() 
FROM xcb_ship_info
WHERE 
	id IN (SELECT id FROM xcb_ship_info WHERE id not in (select ship_id FROM xcb_ship_goods_type));