SQL: Удалить только внешние одинарные кавычки в столбце перед вставкой в ​​строку - PullRequest
0 голосов
/ 10 марта 2020

Я работаю с программой, которая позволяет мне выполнять SQL после загрузки изображения. Программа также предоставляет токены, которые задают значение c в зависимости от загруженного изображения. Для этого он предоставляет поле формы, которое я заполнил:

INSERT INTO tag_index (tag, index_count) VALUES ("% type%:% tag%", 1) ON DUPLICATE KEY UPDATE index_count = index_count + 1;

Я ожидаю, что это вставит "location:italy" в tag_index.

Однако возвращаемые токены значений заключаются в одинарные кавычки. В соответствии с предыдущим примером "'location':'italy'" вставляется вместо tag_index.

Наличие этих одинарных кавычек в tag_index несовместимо с используемым мной приложением галереи, и я не могу редактировать приложение, которое я загружаю. изображения, чтобы токены не были заключены в одинарные кавычки. Мне нужно иметь возможность написать строку SQL, которая может поместиться в поле настроек приложений загрузчика, которая удаляет только внешние одинарные кавычки при вставке в tag_index.

Например, будет ли возможно сделать что-то вроде:

INSERT INTO tag_index(tag, index_count) VALUES ("ESCAPEOUTERQUOTES(%type%):ESCAPEOUTERQUOTES(%tag%)", 1)
  ON DUPLICATE KEY UPDATE index_count = index_count + 1;

Я использую MySQL 5.7.23.

Редактировать

Как подсказывают некоторые комментарии, я делаю не думаю, что использование REPLACE ответит на мой вопрос. Маркер %tag% может содержать действительные одинарные кавычки. Например, когда тег напоминает лицо ''o'', мне нужно удалить только внешние одинарные кавычки, оставив 'o'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...