@immelnikoff
Изучаю БД

Как избавиться от бэкслешка в VARCHAR при INSERT?

При
insert into table_name(name) value('ivan\');
возникает ошибка, так как бэкслэш экранирует одинарную кавычку. Вопрос. Как избавиться от этого бэкслеша и сделать запись, как будто этого бэкслэша и не было вовсе?
Функция REPLACE() не помогает... Пробовал так REPLACE('ivan\', '\', '') и так REPLACE('ivan\', '\\', '').
Или как, например, заменить в тексте все бэкслеши (чтобы не допустить экранирований) на прямые слеши?
ps. Приложение пишет в базу не напрямую, а через мою хранимую функцию. При вызове функции с параметром 'ivan\' происходит ошибка (синтаксис). Без бэкслэша на конце все отлично пишется. К приложению у меня доступа нет.
Проблему нужно решить ИСКЛЮЧИТЕЛЬНО средствами MySQL.
pps. Как вариант, можно читать строку в бинарном виде и если увидели байт бекслэша, то менять его на байт слэша или любую другую строку. Но это просто бред какой-то. Наверняка есть способ решения намного проще и естественнее.
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
insert into table_name(name) value('ivan\\');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы