嗨,所以我正在研究一个项目,事实证明生产机器上的MySQL版本与我在本地的版本不同,这导致了本地运行的查询导致生产错误的情况。
失败查询的示例如下:
SELECT MONTH(date) month
, YEAR(date) year
, SUM(distinct_totals.total) balance
FROM
( SELECT DISTINCT totals.*
, trans_data.date
FROM totals
JOIN trans_data
ON totals.trans_data_id = trans_data.id
WHERE totals.id IN (1085)
AND trans_data.date BETWEEN '2016-04-05' AND '2017-04-04'
) distinct_totals
GROUP
BY year
, month
在我的本地版本上运行正常:
Ver 14.14 Distrib 5.7.18
但是给出了错误:
Mysql2::Error: Unknown column 'totals.*' in 'field list'
在版本中:
Ver 14.14 Distrib 5.6.31
有没有明显的原因,因为版本之间的变化导致了这个?
答案 0 :(得分:0)
此错误:
Mysql2 ::错误:'字段列表'
中的未知列'总计。*'
暗示你有
select `totals.*`
查询中的某个地方。您需要删除外部反引号或将它们限制为一个标识符:
select `totals`.*
select totals.*