用单引号替换问号:MySQL中的语法错误

时间:2015-02-11 11:51:27

标签: mysql

我正在尝试编写一个查询,将列中的所有问号转换为单引号字符。我确信我的专栏中没有问题标记,并且引用问题导致所有单引号转换为问号(我有latin1_swedish_ci,现在我有utf8-bin)。

我写了这两个:

UPDATE `mytable` SET description = REPLACE(description, "?","''")
UPDATE `mytable` SET description = REPLACE(description, "??","''")
UPDATE `mytable` SET description = REPLACE(description, "\?","''")

一切都错了。什么是正确的?

2 个答案:

答案 0 :(得分:4)

如果您使用双引号作为字符串分隔符,那么您不需要在单引号上加倍。试试这个:

UPDATE `museum_workofart`
    SET description = REPLACE(description, "?", "'")

还需要description之后的逗号。

答案 1 :(得分:0)

使用转义字符的另一种方法:

UPDATE `museum_workofart` 
SET description = REPLACE(description, '\?','\'')

Fiddle示例。