MySQL: как избежать двойных кавычек?

Я пытаюсь избежать двойной кавычки (") с помощью:

    UPDATE articles
    SET body = REPLACE(body, '"', '\"')
    WHERE body LIKE '%"%'

Ничего не заменено. Спасибо

Вам не нужно избегать двойных кавычек. Вам нужно экранировать '\', поэтому это должен быть '\\"', потому что это escape-символ для mysql

Jorge Campos 28.12.2018 01:59

Мне кажется нежелательным вводить случайные escape-последовательности в тело вашей статьи. Обратные косые черты, предшествующие двойным пробелам, - это лишь очень небольшая часть экранирующего текста только в синтаксисе экранирования обратной косой черты для синтаксисов экранирования может. Я настоятельно рекомендую вам сделать body точным представлением тела статьи. Если у вас есть мотивация избегать двойных кавычек, это, вероятно, означает, что вы, вероятно, интерполируете тело статьи в значения переменных, указанных в кавычках - если да, я рекомендую вам найти другой способ.

Daniel Farrell 28.12.2018 02:08

@JorgeCampos Вы должны опубликовать это как ответ.

Barmar 28.12.2018 02:27

Привет, я пытаюсь это сделать, потому что я не смог создать действительный CSV из-за двойных кавычек (").

yazuk 28.12.2018 14:19

@Barmar готово. :)

Jorge Campos 28.12.2018 22:52
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
5
995
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не нужно избегать двойных кавычек. Вам нужно экранировать \, поэтому он должен быть '\ "', потому что это escape-символ для MySQL. Поэтому ваша команда должна быть:

UPDATE articles
   SET body = REPLACE(body, '"', '\\"')
 WHERE body LIKE '%"%'

Взгляните на Документация, чтобы получить о нем больше информации.

Другие вопросы по теме