MySQL更新語句

更新

(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

å°é»é¸¡çæç¼ç

(不定時更新中.......) 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章