Hallo Forum,
Ich dreh durch!
Ich kriege keine Abfrage mit temporären Tabellen hin.
Bin ich zu blöd, oder ist das wegen Sommer oder was?
In mehreren MySql-Büchern (das arme Buchhandelspersonal muß die immer wieder einsortieren...)
steht folgendes:
//erzeugt eine temporäre Tabelle...
CREATE TEMPORARY TABLE tmp
//...füllt diese gleich mit Werten - entsprechende Spalten werden automatisch angelegt
SELECT meine_spalte, deine_spalte FROM meine_tabelle
//abfrage der temporären Tabelle mit irgendwelchen Bedingungen
SELECT * FROM tmp WHERE...
Ich habe oben bewusst eine ganz einfache - sinnlose Abfragefolge genommen,
weil es im Moment nur darum geht ÜBERHAUPT Daten von einer Tabelle in eine temporäre
Tabelle zu übertragen und diese dann abzufragen. Aber ich bekomme bei der letzten
Abfrage immer die Fehlermeldung, die Tabelle 'tmp' gäbe es nicht
("table 'meine_datenbank.tmp' doesn't exist").
Test1:
//keine Fehlermeldung
CREATE TEMPORARY TABLE tmp (meine_spalte INT(4))
//Fehlermeldung: "table 'tmp' already exists" DIE VORZEILE HAT ALSO FUNKTIONIERT!
CREATE TEMPORARY TABLE tmp (meine_spalte INT(4))
Test2:
//keine Fehlermeldung
CREATE TEMPORARY TABLE tmp (meine_spalte INT(4))
//keine Fehlermeldung FUNKTIONIERT ALSO!
DROP TABLE tmp
//Fehlermeldung: "unknown table 'tmp'" ES IST IN DER VORZEILE OFFENSICHTLICH ETWAS GELÖSCHT WORDEN!
DROP TABLE tmp
Fazit:
Die Tabelle wird angelegt und gelöscht - so wie geplant.
Aber warum kann man sie dann nicht abfragen?
Kann man sie denn in einem Client (bei mir MySql-Front) eigentlich sichtbar machen?
Wenn ich eine Tabelle OHNE TEMPORARY anlege, ist sie nach einer Neuverbindung sichtbar die tmp-Tabellen hingegen nicht.
Ich habe MySql 3.23.43 - also temporäre Tabellen sollten implementiert sein.
Was soll ich tun?
[] aufhängen?
[] ins Wasser gehen?
[] das Hobby wechseln?
[] sonstiges
(zutreffendes bitte ankreuzen)
Gruß und vielen Dank für Hilfe, Andreas