tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Problém v dotazu s create temporary table

před 7 lety

vnovotny
Člen | 12

Dobrý den, mám následující MySQL dotaz, přes SQLYog projde v pořádku, ale přes DIBI::QUERY() se vrací s chybou 1064. V čem může být problém? Všiml jsem si, že syntax highlighter laděnky nette ignoruje první řádek dotazu, ale to s tím asi nesouvisí…

P.S.: Samozřejmě se jedná pořád o tu samou DB

CREATE TEMPORARY TABLE `tmp` SELECT * FROM `report` WHERE `PeriodID` = 1;
UPDATE `tmp` SET `PeriodID` = 2 WHERE `PeriodID` = 1;
UPDATE `tmp` SET `ID` = NULL;
INSERT INTO `report` SELECT *FROM `tmp` WHERE `PeriodID` = 2

Trochu jsem to přepracoval a pořád totéž…

DROP TABLE IF EXISTS tmp;
CREATE TEMPORARY TABLE tmp SELECT `Data`, `PeriodID`, `Approved` FROM report WHERE PeriodID = 1;
UPDATE tmp SET PeriodID = 2 WHERE PeriodID = 1;
INSERT INTO report (`Data`, `PeriodID`, `Approved`) SELECT * FROM tmp WHERE PeriodID = 2

vyřešil jsem to nakonec v PHP, ale stejně by mě zajímalo, jak bych to vyřešil v DIBI jedním dotazem…

Editoval vnovotny (12. 1. 2012 11:11)

před 7 lety

Milo
Nette Core | 1124

A jak to máš zapsané v dibi (pastni kód)?