You are not logged in.

wcf.regNote.message

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

1

Thursday, October 5th 2006, 1:04pm

Tabellen aus DB löschen

Hallo Leute,

ich möchte gerne alle Tabellen aus einer DB löschen die mit z.B. mit "a" anfangen. Womit die Tabellen anfangen sollen steht in einer Variablen.

Mit welchen Befehl/Code kann ich das machen???
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Thursday, October 5th 2006, 1:18pm

Query zum auflisten der Tabellen die mit a anfang (also 'a*', * == % in Mysql)

Source code

1
SHOW TABLES LIKE 'a%'


dann kannst du über das result die einzelnen Tabellen herrausfinden und Delete mit der Tabelle aufrufen.

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

3

Thursday, October 5th 2006, 2:56pm

Geht das auch einfach mit Drop Table?

Habe eben probiert mit drop Table eine einzelne Tabelle zu löschen, hat aber leider nicht geklappt.

Kann es daran liegen, das ich die Tabelle gelöscht habe und dann sofort danach neu erstellt habe??
Gruß M-Arens

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

4

Thursday, October 5th 2006, 3:46pm

Du kannst auf jeden Fall mehrere Tabellen zum droppen angeben:
http://dev.mysql.com/doc/refman/5.1/de/drop-table.html

Ansonsten, woran machst du es fest des es net ging ...
da die Tabelle ja, wenn du die gleichwieder anlegst auch wieder da ist?

Kriegst du ne fehlermeldung?
(Fehlermeldungen immer mit angeben)

Ciao Ephraim

Manuel

Trainee

  • "Manuel" started this thread

Posts: 64

  • Send private message

5

Friday, October 6th 2006, 7:13am

Ja, ich habe in der Tabelle einen Datensatz drin und nach dem erstellen wird auch wieder ein Test Datensatz reingeschrieben.
Beim reinschreiben des Test Datensatzes kommt dann die Fehlermeldung der der Eintrag schon da ist. Und wenn ich dann in PHPmyAdmin schaue ist die Tabelle auch nicht neu, das erstell Datum ist immer noch das alte.
Gruß M-Arens

lichtonkel

Beginner

Posts: 39

Occupation: staat. gepr. Informatiker Multimedia/Studierender

  • Send private message

6

Saturday, October 7th 2006, 12:10pm

moin,

hast du vll irgendwelche fremdschlüssel in der tabelle, die du löschen willst?

dann müsstest du zuerst diese tabellen löschen, auf die der fremdschlüssel verweist.

ansonsten wäre ein statement in der form:

Source code

1
DROP TABLE IF EXISTS  '_var-name_%';


schon richtig.

achja, und wie immer beim coden.... auf semikolons achten ;-)


gruß
Lichtonkel

This post has been edited 2 times, last edit by "lichtonkel" (Oct 7th 2006, 12:11pm)


CiL

Beginner

Posts: 37

  • Send private message

7

Wednesday, February 7th 2007, 2:26pm

Diese Fremdschlüsselgeschichte kannste vergessen, wenn deine Datenbank nicht mit der InnoDB Engine erstellt wurde, denn sonst haste keine referenzielle Integrität.

Also eigentlich sollte es mit..
DROP TABLE 'a%'
gehen.

wcf.user.socialbookmarks.titel