数据恢复:
方法一:程序逻辑控制,通过编写程序实现有差异数据的恢复,
好处是,有业务存在时,处理很方便;
坏处是,必须要发布程序;
方法二:拼写sql
A:生成临时表,再进行加工
CREATE table temp as SELECT
c.cid id,
c.cid,
sc.create_time time,
sc.earnest_price price,
c.mid create_person,
'定金' remark,
'normal' dlt,
'-3' sign_remind_id,
NOW() create_time,
'yes' useful,
sc.region
FROM
sign_customer sc
LEFT JOIN customer c ON c.cid = sc.cid
WHERE
c.ctype = 'sign'
B.直接插入到目标表:
INSERT INTO payment_records (
id,
cid,
time,
price,
create_person,
remark,
dlt,
sign_remind_id,
create_time,
useful,
region
) SELECT
c.cid id,
c.cid,
CASE WHEN sc.create_time is null THEN NOW() ELSE sc.create_time END time,
sc.earnest_price price,
c.mid create_person,
'定金' remark,
'normal' dlt,
'-3' sign_remind_id,
NOW() create_time,
'yes' useful,
sc.region
FROM
sign_customer sc
LEFT JOIN customer c ON c.cid = sc.cid
WHERE
c.ctype = 'sign'
Insert into A(C1,C2,...) Select C1,C2,... From B;
优点是,不需要重新发布应用程序,效率很高;
缺点是,容易出错;