2015-12-02 31 views
0

我試圖修復一個WordPress數據庫中的表,其中完整的URL應該存在,但不要。預先填寫一個與列匹配的URL

我想選擇meta_key = __wpdm_icon所有的列,其中meta_key = __wpdm_icon在所有列中都加上http://local-site/wp-content/plugins/,如果URL不在那裏。

我在看這個,但我不認爲這是足夠精確的這個操作。

UPDATE tbl SET col=CONCAT('test',col) 
WHERE col NOT LIKE 'test%'; 

我嘗試這樣做:

UPDATE wp_fbjd_postmeta SET meta_value=CONCAT('http://local-site/wp-content/plugins/',meta_value) 
WHERE meta_value NOT LIKE 'http://local-site/wp-content/plugins/'; 
+0

你沒有包含通配符'% '在你的嘗試中。如果沒有通配符 – JamieD77

+0

基本上'startswith%%endswith%contains%',那麼查詢將無法正常工作您的查詢查找完全匹配並且可能會替換表中的每條記錄 – JamieD77

回答

1

你需要一個%通配符添加到您的WHERE子句檢查,否則將不會執行

UPDATE wp_fbjd_postmeta SET meta_value=CONCAT('http://local-site/wp-content/plugins/',meta_value) 
WHERE meta_value NOT LIKE 'http://local-site/wp-content/plugins/%';