我有一个导致错误下面的查询脚本:MySql的更新不承认临时表
SET @row_number = 0;
Drop Table If Exists testtable2;
Create Temporary Table testtable2
SELECT
*
FROM
(SELECT
row_names, (@row_number:[email protected]_number + 1) AS num, date_add(date_time, INTERVAL 1 MINUTE) AS date_time, meter, kw
FROM
testtable
WHERE
DAY(date_time) = 1
AND HOUR(date_time) = 2) AS testtable2
WHERE
MOD(testtable2.num, 2) = 0;
UPDATE testtable
SET
testtable.date_time = testtable2.date_time
WHERE
testtable.row_names = testtable2.row_names;
错误说Error Code: 1054. Unknown column 'testtable2.row_names' in 'where clause'
我创建了一个包含列DATE_TIME但我更新的临时表查询无法识别该列是否存在。我可以运行像SELECT * FROM testtable2;并返回显示该列确实是使用正确的标题生成的。为什么我的更新无法识别此列?
testtable是我已经在我的数据库中拥有的表。它有列row_names,date_time,米和千瓦。 –