如果我運行此:SQL選擇查詢返回5,448行,更新查詢影響93,205行,但實際上沒有更新?
SELECT *
FROM [myDB].[dbo].[content]
where content_html like '%<images>%<img src=''/'' alt=''''>%</img>%</images>%'
它返回5,448行。
那些空的圖像標籤打破了我在Ektron中的拉力 - 我們現在的CMS。他們建議我更換那些空圖像標籤與
所以我做了這個更新查詢:
UPDATE [myDB].[dbo].[content]
SET content_html=REPLACE(CONVERT(VARCHAR(MAX), content_html),'%<images>%<img src=''/'' alt=''''>%</img>%</images>%','<images></images>')
它返回此:(93205行(S)的影響)
但實際並沒有任何改變。我用一條特定的記錄試了一下,它說它受到了影響,但數據保持不變。
只是爲了安全起見 - 你還記得提交嗎? – Mureinik
您需要第一個查詢中的where子句來限制第二個查詢中更新的記錄數。其次,你能否在預期之前和之後給我們一些樣本?正如@Mureinik所說,您可能會離開交易。 – ps2goat
您是否期待'replace'與'%'做模式匹配?我不認爲這是正常的字符串 –