Member 12085957 Ответов: 1

Как обновить специальные символы в SQL?


Ниже приведен запрос, в котором я пытаюсь обновить строку таблицы, но он выдает мне некоторую ошибку в Sql Server.Может ли кто-нибудь помочь мне, как это сделать

Что я уже пробовал:

обновление столовый набор цв='это', где кол='это'

Richard Deeming

Если вы получаете эту ошибку с жестко закодированными значениями, то Решение 1 является правильным.

Если вы получаете ошибку с динамическими значениями, предоставленными пользователем, это означает, что вы неправильно строите свои запросы, оставляя свой код уязвимым для SQL-инъекций.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]

1 Ответов

Рейтинг:
0

ZurdoDev

Да, мы можем вам помочь. Однако для дальнейшего использования, если вам нужна помощь в решении сообщения об ошибке, Шаг 1-это опубликовать сообщение об ошибке. Существует 42 233 543 возможных сообщения об ошибках, так что это помогает дать точную ошибку и не заставлять людей гадать.

В этом случае ошибка очень проста. У вас есть одна кавычка в слове "Это", следовательно, это разрыв строки. Компилятор думает, что вы хотите обновить col, чтобы он был "It", а затем у вас есть "s", и он понятия не имеет, что это значит. Вам нужно избежать вашего Апострофа с другим Апострофом.

UPDATE table SET col='It''s' WHERE col='It'


И сообщение об ошибке сообщило бы вам, что происходит.