Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL替换函数不够具体_Mysql_Function_Replace - Fatal编程技术网

MySQL替换函数不够具体

MySQL替换函数不够具体,mysql,function,replace,Mysql,Function,Replace,我只是想用13代替2。当我使用上面的示例202时,它变为13013,因为它正在替换数字202中2的两个实例。我只想将2替换为13,而不是在其他较大的数字中替换为2。如果指定where子句,则只会更新与确切子句匹配的结果,以便可以尝试以下操作: UPDATE `link_tag` SET `TagID` = replace(TagID, 2, 13) 现在它只会更改TagID实际上等于2的2 更好的方法是这样做: UPDATE `link_tag` SET `TagID` = replace

我只是想用13代替2。当我使用上面的示例202时,它变为13013,因为它正在替换数字202中2的两个实例。我只想将2替换为13,而不是在其他较大的数字中替换为2。

如果指定where子句,则只会更新与确切子句匹配的结果,以便可以尝试以下操作:

 UPDATE `link_tag`
 SET `TagID` = replace(TagID, 2, 13)
现在它只会更改TagID实际上等于2的2

更好的方法是这样做:

UPDATE `link_tag`
SET `TagID` = replace(`TagID`, 2, 13)
WHERE `TagID` = 2

请说明示例dataMySQL没有内置的正则表达式替换支持,这可能非常棘手TagID@TimBiegeleisen你能详细解释一下为什么不能吗?@TimBiegeleisen这就是OP的问题所在,他只想更改一个“2”,如果这是列的确切值,他不想要列“22”要成为“1313”@TimBiegeleisen,这不是问题,但我要谈谈OP文章的最后一句话,他明确表示这是他的意图:)
UPDATE `link_tag` SET `TagID` = 13 WHERE `TagID` = 2