Platzhalter für Droptable? % geht nicht!

mr5

Banned
Registriert
Feb. 2005
Beiträge
1.041
Hallo,

ich habe mehrere Tabellen bei denen der vordere Teil des Tabellennamens gleich ist und der hintere Teil eine Zeitmarke also ...

backup_20074_1171489303
backup_20074_1171248903
backup_20074_1171428930
backup_20074_1171489433

$query = "DROP TABLE `backup_20074_%`"; <- geht nicht!

Habt Ihr eine Idee?

Daaanke

Gruß Stefan
 
Zuletzt bearbeitet:
AW: Platzhalter für Droptable ???? % geht nicht!

mhh.. ich glaube das geht ja alleine deswegen nicht, weil man mit query nur eine Anweisung ausführen kann. Oder liege ich da falsch?
 
AW: Platzhalter für Droptable ???? % geht nicht!

Das kann gar nicht funktionieren, weil DROP TABLE einen oder durch Kommata separierte Bezeichner erwartet, und eine Tabelle namens backup_20074_% gibt es ja nicht. Die Wildcards % und _ haben nur im Zusammenhang mit LIKE eine Bedeutung, da es sich dabei jedoch um einen Ausdruck (col LIKE pattern) und nicht um einen Bezeichner handelt, läßt sich auch mit LIKE nichts erreichen.
Mir fällt im Moment kein Weg ein, um auf eine derartige Art Tabellen zu löschen, in jedem Fall müßtest du mittels SHOW TABLES LIKE 'backup\_20074\_%' zunächst die Bezeichner ermitteln und das könnte man genau so gut auch innerhalb der Applikation erledigen.

greetings, Keita
 
AW: Platzhalter für Droptable ???? % geht nicht!

Danke Keita für Deine Antwort,

so ähnlich habe ich mir das schon gedacht.

Ich habe ja eine Tabelle wo die zu löschenden Tabellennamen drin stehen.

Dann muss ich eben mit einer Select-Anweisung und % die Namen auslesen und dann löschen.

Nur wollte ich grundsätzlich wissen ob man mit Platzhaltern ausserhalb von Like oder = Anweisungen arbeiten kann. Wohl nicht.

Danke für die Mühe,
Gruß Stefan
 
im standart sql sicher nicht, aber was für eine datenbank nutzt du ? ich kann mir vorstellen das oracle/ms bei sich sowas implementiert haben
 
MySQL 4.0 mit PHP 5.0
 
Ich hab mal, aus Interesse, rumprobiert, bin aber noch nicht zum Testen gekommen:

Code:
drop table
show tables like 'backup_%'
Muss man vielleicht noch anpassen, könnte aber funktionieren

David


Geh doch einfach jede Zeile von 'SHOW TABLES LIKE 'backup_%' durch und führe damit ein DROP TABLE aus!
Hab jetzt nichts besseres gefunden.
 
Zuletzt bearbeitet:
Zurück
Oben