我有一個導致錯誤下面的查詢腳本: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,米和千瓦。 –