Tabellen mit Prefix Bla_ X Tage nach Erstellung löschen

misscutenight

I Dont Care ♥
ID: 323565
L
26 Juli 2008
215
24
Hallo,
Meine Frage bezieht sich darauf, ob man Tabellen die vor X Tagen erstellt worden sind und einen Prefix wie z.B. Bla_ haben automatisch löschen kann (Per PHP & MYSQL)?

Die Frage hört sich etwas kriminell an, da Tabellen ja eigentlich nicht da sind um nach kurzer Zeit wieder gelöscht zu werden. Aber in diesem Fall geht es einfach nicht anders.. :oops:

Liebe grüße,
misscutenight
 
Natürlich geht das. Mit CREATE TABLE erzeugst du sie, mit DROP TABLE löscht du sie wieder.

(Über Sinn oder Unsinn dieses Vorgehens ..., ja, du hast es ja schon angerissen.)
 
Im Prinzip wie theHacker es sagt.
Die Zeit kriegste mit nem Timestamp hin, den Du bei deinen Einträgen mitgibst. Wenn der Timestamp unter einem gewissen Wert fällt, dann löscht Du in mit DROP TABLE.

Um das automatisiert zu machen, gibt es so genannte CRONJOBS.
Das ist praktisch ein Zeitschaltuhr, die in einem gewissen Zeitabstand eine Seite bzw. ein Script von Dir aufruft (zB eins, das checkt, wie alt deine Tables sind, und wenn sie zu alt, sie dann löscht).
Entweder die CJ sind bei Deinem Webspace dabei, oder Du kannst Dir kostenlose unter www.cronjob.de einrichten.

Viele Grüße
 
Du kommst an Informationen wie erstellungsdatum über das Infromation_shema

mit
PHP:
SELECT TABLE_NAME AS `Name`, TABLE_TYPE AS `Type`, ENGINE AS `Engine`, VERSION AS `Version`, ROW_FORMAT AS `Row_format`, TABLE_ROWS AS `Rows`, AVG_ROW_LENGTH AS `Avg_row_length`, DATA_LENGTH AS `Data_length`, MAX_DATA_LENGTH AS `Max_data_length`, INDEX_LENGTH AS `Index_length`, DATA_FREE AS `Data_free`, AUTO_INCREMENT AS `Auto_increment`, CREATE_TIME AS `Create_time`, UPDATE_TIME AS `Update_time`, CHECK_TIME AS `Check_time`, TABLE_COLLATION AS `Collation`, CHECKSUM AS `Checksum`, CREATE_OPTIONS AS `Create_options`, TABLE_COMMENT AS `Comment` FROM `information_schema`.TABLES WHERE TABLE_SCHEMA = 'dbname'

fragst du alle tabellen von dbname ab. mit entsprechender Ergänzung der WHERE Klausel, z.b. mit TABLE_NAME like 'bla_%' AND Create_time < now()-(60*60*24*7) kannst du alle bla_tabellen die älter als eine woche sind finden
 
Du kommst an Informationen wie erstellungsdatum über das Infromation_shema

mit
PHP:
SELECT TABLE_NAME AS `Name`, TABLE_TYPE AS `Type`, ENGINE AS `Engine`, VERSION AS `Version`, ROW_FORMAT AS `Row_format`, TABLE_ROWS AS `Rows`, AVG_ROW_LENGTH AS `Avg_row_length`, DATA_LENGTH AS `Data_length`, MAX_DATA_LENGTH AS `Max_data_length`, INDEX_LENGTH AS `Index_length`, DATA_FREE AS `Data_free`, AUTO_INCREMENT AS `Auto_increment`, CREATE_TIME AS `Create_time`, UPDATE_TIME AS `Update_time`, CHECK_TIME AS `Check_time`, TABLE_COLLATION AS `Collation`, CHECKSUM AS `Checksum`, CREATE_OPTIONS AS `Create_options`, TABLE_COMMENT AS `Comment` FROM `information_schema`.TABLES WHERE TABLE_SCHEMA = 'dbname'
fragst du alle tabellen von dbname ab. mit entsprechender Ergänzung der WHERE Klausel, z.b. mit TABLE_NAME like 'bla_%' AND Create_time < now()-(60*60*24*7) kannst du alle bla_tabellen die älter als eine woche sind finden

Dankeschön an theHacker & Black-Horse, habt mir sehr geholfen :) ..

Mfg,
misscutenight