查询中的MySql REPLACE函数仅评估一次,而不是每行

时间:2012-07-22 00:27:18

标签: mysql

在运行MySql 5.0.27的服务器上,使用一个非常简单的查询,使用REPLACE -

SELECT familyname, replace('{0} test' , '{0}', `familyname`) AS  `formattedname`
FROM family

我得到的结果是第二列只被评估过一次:

familyname   formattedname
Andersen     Andersen test
Baker        Andersen test
Charles      Andersen test

在运行MySql 5.5.9的开发机器上,查询和数据相同,结果如我所料:

Andersen     Andersen test
Baker        Baker test
Charles      Charles test

这是旧版本中的MySql错误,还是存在其他可能性(服务器配置错误,索引错误等?)。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个已知的错误。据报道here 您可以使用它,或者至少需要升级到MySQL 5.1。

如果您的软件兼容,为什么不升级到MySQL 5.5?

我使用Mysql错误数据库中的search engine找到了错误报告。