第 1 頁 (共 1 頁)
[分享] 以新的字串取代資料表內舊的字串之 SQL 指令
發表於 : 2002-03-05 18:11
由 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!
發表於 : 2002-03-06 00:28
由 oO]-[Oo
(:Y)(:Y)(:Y)(:Y)五ㄍㄠˋ讚
發表於 : 2002-04-04 00:25
由 rings1
用來搬家超好用的
感謝
發表於 : 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的書沒有這個字....
發表於 : 2002-06-27 23:12
由 輕狂
自己回答自己,
Like 是部份比對,假設要搜尋完全相同的字串,那就要使用 = 號。
發表於 : 2002-06-29 00:44
由 Katsuya
Like 後面的%號也是有學問的喔!! %xxx 好像是結尾為xxx 而 xxx% 的話是開頭為xxx...
忘光了... SQL蠻少用的... ^^"
發表於 : 2002-06-29 01:02
由 輕狂
應該是吧,
如果用 = 號的話就不能用那些代表萬用字元的 % 號...
至少我是這樣理解的...:p
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 中, 內含 "wang5555.dnsfor.me/phpbb2" 的字串為 "wang5555.dnsfor.me/phpbb3".
Re: [分享] 以新的字串取代資料表內舊的字串之 SQL 指令
發表於 : 2011-07-04 02:48
由 阿維
如果想要取代在私訊裡面的舊字串,也能用以下的範例來取代!
代碼: 選擇全部
UPDATE phpbb_privmsgs SET message_text = REPLACE (message_text, '舊字串', '新字串') WHERE message_text LIKE '%舊字串%'