首页 > 解决方案 > SQL:在插入行之前删除列中仅外部的单引号

问题描述

我正在使用一个允许我在下载图像后执行 SQL 的程序。该程序还提供根据下载的图像给出特定值的令牌。为此,它提供了一个我填写的表单字段:

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。

编辑

正如一些评论所建议的那样,我认为 usingREPLACE不会回答我的问题。令牌可以包含有效的%tag%单引号。例如,当标签类似于人脸时,''o''我只需要删除外部单引号留下'o'.

标签: mysqlsql

解决方案


推荐阅读