Hi,
ich habe ein problem mit Temporären Tabellen und MyDac. Bei "Geht nicht" bekomme ich die rückmeldung das es keine tmp Tabelle gibt.
Das ist nur ein hingefummeltes beispiel, um zu verdeutlichen was ich meine.
Geht:
Delphi-Quellcode:
Query.Sql.Add('
CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;INSERT INTO Test(T1,T2,Status) VALUES (1,1,False);INSERT INTO tmp(PID) VALUES (LAST_INSERT_ID());');
Query.Execute;
Geht nicht:
Delphi-Quellcode:
Query.Sql.Add('
CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
Query.Execute;
// Und dann in einer schleife folgendes.
Query.Sql.Clear;
Query.Sql.Add('
INSERT INTO Test(T1,T2,Status) VALUES (1,1,False);INSERT INTO tmp(PID) VALUES (LAST_INSERT_ID());');
Query.Execute;
Mache ich das z.b. mit Navicat for
MySQL, dann kann ich an die tmp Tabelle bis ich die Connection wirklich schließe.
Danke im voraus