我在使用特定数据的REPLACE()函数时遇到问题。它不匹配应该替换的字符串出现。
我要替换的字符串如下。
S:54:“教义\共同\类别\ ArrayCollection_elements
它存储在以下字段
中Rails 4
这是LIKE请求,它匹配包含字符串的所有行(在字符串上注意`definitions` longtext COLLATE utf8_unicode_ci NOT NULL COMMENT '(DC2Type:object)',
):
\0
在我运行以下请求的同时,我收到“0行受影响”消息,并且没有替换任何内容:
SELECT `definitions`
FROM `entity_type`
WHERE `definitions` LIKE '%s:54:"\0Doctrine\\\\Common\\\\Collections\\\\ArrayCollection\0_elements%'
我应该如何修改字符串以使REPLACE()与我需要的文本匹配并替换它?
PS:请不要因为我想要替换的东西而责怪我。这不是我的错: - )答案 0 :(得分:0)
如果您的“where condition”有效,您可以尝试:
UPDATE `entity_type`
SET `definitions` = REPLACE(REPLACE(
`definitions`,
's:54:',
's:53:'),'ArrayCollection_elements','ArrayCollectionelements')
where `definitions` LIKE '%s:54:"\0Doctrine\\\\Common\\\\Collections\\\\ArrayCollection\0_elements%';