以下查询在phpMyAdmin 3.5.3版本中运行成功。
SELECT *
FROM mytable
WHERE REPLACE (Col, 'a', '') = 'bbb'
但是,在我将phpMyAdmin
升级为version 4.5.4.1
后,它在WHERE
附近的REPLACE
子句中出现了以下错误。
此错误可以使用任何表重现任何数据库。
如果我将查询更改为以下,则表明它正在运行。
SELECT *
FROM mytable
WHERE (REPLACE (Col, 'a', '')) = 'bbb'
这是phpMyAdmin的错误吗?或MySQL计划改变其语法,不支持括号?
答案 0 :(得分:2)
这似乎是phpMyAdmin使用的解析器库的错误。我在https://github.com/phpmyadmin/sql-parser/issues/43打开了一个错误报告,但它似乎已经修复了;例如,我无法重现它的反转4.5.5.1。我建议你升级你的phpMyAdmin。
答案 1 :(得分:1)
试试这个,意味着你的第二个选择
SELECT *
FROM mytable
WHERE (REPLACE (Col, 'a', '')) = 'bbb'
它的工作(在4.4.6中)没有圆括号,
<强>被修改强>
但我刚刚测试了 4.5 &amp;根据新标准 4.6 ,似乎圆括号