[分享] 以新的字串取代資料表內舊的字串之 SQL 指令

phpBB-TW Knowledge Base
收集網友們在竹貓所發表的教學主題或文章,以利分享!
(僅供瀏覽,由版主群維護)

[分享] 以新的字串取代資料表內舊的字串之 SQL 指令

文章akimasa » 2002-03-05 18:11

竹貓DOMAIN變更,如果有在自己網站的phpBB做連結的話,以phpMyadmin,選擇phpbb2使用的DB後,執行下面指令:

代碼: 選擇全部
update phpbb_posts_text set post_text=REPLACE(post_text,'http://www.stonehands.com.tw/~takeigi/','http://heaven.wusdsl.net/') where post_text LIKE '%http://www.stonehands.com.tw/~takeigi/%'


說明:
將DB內,phpbb_posts_text這個table內的post_text這欄,內含"http://www.stonehands.com.tw/~takeigi/"字串,全改為"http://heaven.wusdsl.net/",這樣就不用一筆一筆去修改了,一個指令全部完成,另也可用在自己的DB管理上,以某字串,取代特定字串,一次ok!
最後由 心靈捕手 於 2013-07-03 09:15 編輯,總共編輯了 2 次。
理由: 更新主題!
頭像
akimasa
竹貓好朋友
竹貓好朋友
 
文章: 173
註冊時間: 2002-02-02 15:51
來自: 台灣台北

文章oO]-[Oo » 2002-03-06 00:28

(:Y)(:Y)(:Y)(:Y)(:Y)五ㄍㄠˋ讚
OOHOO said:
有事Mail給我, 不要P我, 因為根本沒辦法P.
頭像
oO]-[Oo
南宮博士
南宮博士
 
文章: 514
註冊時間: 2001-11-11 18:09
來自: TAIWAN

文章rings1 » 2002-04-04 00:25

用來搬家超好用的

感謝 8-)
rings1
星球普通子民
星球普通子民
 
文章: 25
註冊時間: 2002-02-07 21:57

文章輕狂 » 2002-06-27 22:20

我參照這個語法修正由RC版升級正式版後user_lang 欄位的字串,
將 chinese_tranditional_taiwan 修正為現在的 chinese_traditional_taiwan。

update phpbb_users set user_lang=REPLACE( user_lang, 'chinese_tranditional_taiwan','chinese_traditional_taiwan')
where user_lang LIKE '%chinese_tranditional_taiwan%';

雖然是可以啦,不過我對於後面 LIKE 這個字有疑問,有誰能說明一下LIKE 有特別用途嗎?
我手邊MySQL的書沒有這個字....
=何如一樹天然色﹐便是粗枝也有情=
藝文聚賢樓古典詩詞教學網站
頭像
輕狂
竹貓好朋友
竹貓好朋友
 
文章: 86
註冊時間: 2002-02-22 11:55

文章輕狂 » 2002-06-27 23:12

自己回答自己,
Like 是部份比對,假設要搜尋完全相同的字串,那就要使用 = 號。
=何如一樹天然色﹐便是粗枝也有情=
藝文聚賢樓古典詩詞教學網站
頭像
輕狂
竹貓好朋友
竹貓好朋友
 
文章: 86
註冊時間: 2002-02-22 11:55

文章Katsuya » 2002-06-29 00:44

Like 後面的%號也是有學問的喔!! %xxx 好像是結尾為xxx 而 xxx% 的話是開頭為xxx...
忘光了... SQL蠻少用的... ^^"
Katsuya
星球普通子民
星球普通子民
 
文章: 24
註冊時間: 2002-06-05 16:01

文章輕狂 » 2002-06-29 01:02

應該是吧,
如果用 = 號的話就不能用那些代表萬用字元的 % 號...
至少我是這樣理解的...:p
=何如一樹天然色﹐便是粗枝也有情=
藝文聚賢樓古典詩詞教學網站
頭像
輕狂
竹貓好朋友
竹貓好朋友
 
文章: 86
註冊時間: 2002-02-22 11:55

Re: [分享]以特定字串取代DB內原來的資料!

文章心靈捕手 » 2008-12-30 21:17

akimasa 寫:竹貓DOMAIN變更,如果有在自己網站的phpBB做連結的話,以phpMyadmin,選擇phpbb2使用的DB後,執行下面指令:

代碼: 選擇全部
update phpbb_posts_text set post_text=REPLACE(post_text,'http://www.stonehands.com.tw/~takeigi/','http://heaven.wusdsl.net/') where post_text LIKE '%http://www.stonehands.com.tw/~takeigi/%'


說明:
將DB內,phpbb_posts_text這個table內的post_text這欄,內含"http://www.stonehands.com.tw/~takeigi/"字串,全改為"http://heaven.wusdsl.net/",這樣就不用一筆一筆去修改了,一個指令全部完成,另也可用在自己的DB管理上,以某字串,取代特定字串,一次ok!

目前, phpBB 3 資料庫的文章資料表為 "phpbb_posts";
因此, 上述指令若要運用在 phpBB 3 的資料庫, 則只要修改資料表名稱即可.

例如:
代碼: 選擇全部
UPDATE phpbb_posts SET post_text = REPLACE (post_text, '220.134.232.37/phpbb2', '220.134.232.37/phpbb3') WHERE post_text LIKE '%220.134.232.37/phpbb2%'


說明:
更新資料表 phpbb_posts 之欄位 post_text 中, 內含 "218.161.28.134/phpbb2" 的字串為 "218.161.28.134/phpbb3".
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
 
文章: 8585
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: [分享] 以新的字串取代資料表內舊的字串之 SQL 指令

文章阿維 » 2011-07-04 02:48

如果想要取代在私訊裡面的舊字串,也能用以下的範例來取代! ;)
代碼: 選擇全部
UPDATE phpbb_privmsgs SET message_text = REPLACE (message_text, '舊字串', '新字串') WHERE message_text LIKE '%舊字串%'
提供代客維護 phpBB 3.0.x 以及外掛/風格升級或安裝的服務,如需委託,請與我聯絡,謝謝! ;)
我的 Skype 帳號:gpxjordan
阿維
竹貓忠實會員
竹貓忠實會員
 
文章: 911
註冊時間: 2003-02-23 13:36
來自: 台南市


回到 教學文件庫

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 5 位訪客

Partnership: phpBBHacks.com
cron