【发布时间】:2020-07-30 00:06:19
【问题描述】:
在不更改任何设置的情况下,包含 table.`*` 这样的反引号的查询不再有效,必须是 table.*
这发生在生产服务器(MySQL 5.7.31-0ubuntu0.16.04.1-log)上,原因不明。
为什么我们使用反引号:在 HeidiSQL 中编辑并输入 select table.* 时,它会自动将其更改为 select table.`*` ,我们已将其原样复制到 PHP 页面中。
查询是:
select u.`*` from users u
昨天运行良好多年(没有对 MySQL 的任何一个 PHP 进行任何更改或升级,它开始出现错误:1054- Unknown column 'u.*' in 'field list
将查询替换为以下查询解决了问题:
select u.* from users u
有趣的是,u.`field` 仍然可以正常工作。
【问题讨论】:
-
页面没有显示我输入的内容,应该是 table 。 '*'(不带空格)
-
你能粘贴你使用的查询吗?
-
提供之前安全执行的查询文本示例,添加现在为该查询执行尝试生成的错误消息文本(完整且未更改)。