SQL取代指令

參考網站

因為要把網站的地址從【臺北市市民大道三段八號5樓A35~36】變成【臺北市市民大道三段八號六樓1-1室】

所以就想從SQL下手

先使用SQL的搜尋,找到是那些資料表以及欄位與資料的數量

這樣才方便取代與對照取代的數量是否正確

在正式取代之前,還有一個【模擬查詢】,可以用來模擬更改的狀況以防出錯

以下為範例

UPDATE wp_postmeta SET meta_value=REPLACE (meta_value, '5樓A35~36', '六樓1-1室');

以下為解釋

UPDATE 資料表 SET 資料欄位=REPLACE (資料欄位, '原本的字串', '取代的字串');

Unicode轉換

轉換網站

如果使用Elementor編輯頁面、文章、商品

裡面的內容會被轉換成Unicode,所以如果想要用SQL直接取代的話很麻煩

例如這一次我要將【臺北市市民大道三段八號5樓A35~36】

轉換為【台北市中正區市民大道三段8號6樓1-1室】

發現【臺北市市民大道三段八號5樓A35~36】在SQL找到的資料偏少

即便取代完成,預計要變更的地方也沒成功變更

才發現資料是在【wp_postmeta】資料表裡面

然後臺北市市民大道三段八號5樓A35~36的Unicode值為

\\u81fa\\u5317\\u5e02\\u5e02\\u6c11\\u5927\\u9053\\u4e09\\u6bb5\\u516b\\u865f5\\u6a13A35~36

導致我搞很久

所以下次要轉之前可以拿上面這串Unicode去轉中文,找規則再處理

通常中文之間都會多一個\,也就是臺\北\市\市\民\ 這種感覺

通常沒意外都是在wp_postmeta資料表,meta_value欄位

UPDATE wp_postmeta SET meta_value=REPLACE (meta_value, '原本的字串', '取代的字串');
最後修改日期: 2022 年 9 月 7 日

作者