鍍金池/ 問答/數(shù)據(jù)庫/ mysql 如何批量替換 字段中的 title="xxxx&quot

mysql 如何批量替換 字段中的 title="xxxx"

UPDATE table_name SET goods_desc = replace(goods_desc , '正則表達(dá)式' , '');

沒用.....

回答
編輯回答
夕顏

....mysql 中沒有正則表達(dá)式替換

2018年6月1日 02:07
編輯回答
刮刮樂

update table set title="yyyy" where title="xxxx";

2017年8月23日 21:01
編輯回答
不歸路

UPDATE table_name SET goods_desc = replace(goods_desc , '要替換的字符串' , '想要的字符串');你可以explain下,看看是否有錯誤

2018年8月27日 09:37
編輯回答
青黛色

建議專門寫個腳本吧,python或是什么的,運(yùn)行一次就搞定

2017年4月14日 10:58
編輯回答
玩控

這是在 stackoverflow 看到的
首先創(chuàng)建一個mysql函數(shù):

DELIMITER $$
CREATE FUNCTION  `regex_replace`(pattern VARCHAR(1000),replacement VARCHAR(1000),original VARCHAR(1000))

RETURNS VARCHAR(1000)
DETERMINISTIC
BEGIN 
 DECLARE temp VARCHAR(1000); 
 DECLARE ch VARCHAR(1); 
 DECLARE i INT;
 SET i = 1;
 SET temp = '';
 IF original REGEXP pattern THEN 
  loop_label: LOOP 
   IF i>CHAR_LENGTH(original) THEN
    LEAVE loop_label;  
   END IF;
   SET ch = SUBSTRING(original,i,1);
   IF NOT ch REGEXP pattern THEN
    SET temp = CONCAT(temp,ch);
   ELSE
    SET temp = CONCAT(temp,replacement);
   END IF;
   SET i=i+1;
  END LOOP;
 ELSE
  SET temp = original;
 END IF;
 RETURN temp;
END$$
DELIMITER ;

執(zhí)行上邊自定義函數(shù)后,執(zhí)行sql如下:

SELECT link_image,regex_replace('[title=""]' , '', link_image) AS replace_link_img FROM wp_links 
WHERE link_image LIKE '%title="%';

執(zhí)行結(jié)果:
圖片描述

但是有個問題
title 中間的沒有替換, 麻煩哪位大神看下這個mysql function 怎么改

2017年8月21日 07:26