更新
(1)將一個表的字段更新到另一個表中
-- 應用場景:B表記錄客戶的所有負責人;將B表的負責人追加到A表中負責人字段值
UPDATE oa_customer c,oa_charge_person s SET c.charge_person = CONCAT( c.charge_person , s.person_str ) WHERE c.id = s.cid
(2)將一張表的字段中的某一個字符串替換成另一個字符串
-- 將字段url中的"http"改成"https"
UPDATE test SET url = REPLACE(url,'http','https');
(3)根據一個表的數據更改另一個與此表沒有關聯表的數據
-- 表A id與表B uid關聯,表B的cid與表C的id關聯,根據表A的部門字段更改表C的部門字段
UPDATE A,B,C SET C.department_id = A.new_department WHERE A.id = B.uid AND B.cid = C.id
-- 根據分享表查詢客戶負責人,如果與客戶crm_customer 表中的負責人不一致,則更新
UPDATE crm_customer c,
(
SELECT
s.cid,
c1.charge_person,
CONCAT(
c1.creatid,
',',
group_concat(s.beshare_uid),
','
) AS new_charege
FROM
crm_share_join s,
crm_customer c1,
crm_customer_data cd
WHERE
s.cid = c1.id
AND cd.cid = c1.id
AND s.creat_id <> s.beshare_uid
GROUP BY
s.cid
HAVING
new_charege <> c1.charge_person
) cs
SET c.charge_person = cs.new_charege
WHERE
c.id = cs.cid
-- 更新移交的客戶共享表中的負責人
UPDATE crm_share_customer sc,crm_share_join s,crm_customer c,crm_customer_data cd
SET sc.creatid = c.creatid,
WHERE sc.id = s.id AND s.cid = c.id AND c.id = cd.cid AND sc.creatid <> c.creatid
AND ocreatid <> 0
(不定時更新中.......)