je le script de requête suivante qui entraîne une erreur:mise à jour MySql ne reconnaissant pas la table temporaire
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;
L'erreur dit Error Code: 1054. Unknown column 'testtable2.row_names' in 'where clause'
Je crée une table temporaire qui contient la colonne date_time mais ma mise à jour requête ne parvient pas à reconnaître que la colonne existe. Je peux lancer quelque chose comme SELECT * FROM testtable2; et il retourne montrant que la colonne est en effet générée avec le titre correct. Pourquoi ma mise à jour ne reconnaît-elle pas cette colonne?
testtable est une table que j'ai déjà dans ma base de données. il a les colonnes row_names, date_time, meter et kw. –