2012-09-12 211 views
2

我正在使用HeidiSql,並且我有一個包含〜1000個URL的數據庫。例如:SQL子字符串替換

index.php?option=com_flexicontent&view=items&cid=283&id=33 
index.php?option=com_flexicontent&view=items&cid=421&id=4411 
index.php?option=com_flexicontent&view=items&cid=415&id=4375 

我要做的就是更換cid=從408到477值cid=403

我已經做了SQL腳本是這樣的:

UPDATE jos_menu 
SET link = REPLACE(link, "cid=411", 'cid=403') 

但如何我將cid=的值408更改爲477,而不使得70 REPLACE s?

+0

如果你執行這個'...'REPLACE('cid = 408','cid = 477''? –

+1

也許'CONCAT('cid =',[number])'' – Kermit

+0

至少10.和cid = 409,cid = 410等相同 – Marbury

回答

1

我不能測試這一點,但嘗試這個

UPDATE jos_menu 
SET link = REPLACE(link, 'cid=' + SUBSTRING(@str, CHARINDEX('cid=', @str) + 4, 3), 'cid=403') 
WHERE Cast(SUBSTRING(@str, CHARINDEX('cid=', @str) + 4, 3) as Int) > 407 And Cast(SUBSTRING(@str, CHARINDEX('cid=', @str) + 4, 3) as Int) < 478 
0

請在phpMyAdmin的表或數據庫的備份,並將其保存爲.cvs文件。使用Excel進行替換。再次將其另存爲.cvs文件,然後將其導入數據庫。