PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQL/MySQLi (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Tabelle testen (http://www.selfphp.de/forum/showthread.php?t=9815)

tsvmaster 20.02.2005 23:19:51

Tabelle testen
 
Wie kann man testen, ob eine Tabelle in einer Datenbank vorhanden ist? Und wenn nicht diese dann gleich neu erstellen. Ich dachte da so irgendwie an eine if-Schleife...

xabbuh 20.02.2005 23:27:20

AW: Tabelle testen
 
Du kannst in der CREATE TABLE Anweisung angeben, dass eine Tabelle nur angelegt werden soll, wenn sie noch nicht existiert:
Code:

CREATE TABLE IF NOT EXISTS tablename...

|Coding 20.02.2005 23:31:29

AW: Tabelle testen
 
if ist keine schleife, sondern ein der kontrollmechanismus.

tsvmaster 20.02.2005 23:44:52

AW: Tabelle testen
 
@xabbuh: so hilft mir das nichts. müsste nach dem erstellen noch paar andere befehle dazufügen.
@coding: dann is das eben ne if-abfrage. So würde ich mir das aber vorstellen. Geht das irgendwie?

xabbuh 20.02.2005 23:54:00

AW: Tabelle testen
 
Könntest eine Abfrage auf die Tabelle machen und überprüfen, ob der daraus resultierende Fehlercode 1051 (Unknown table '%s') ist.

Fehlernummern in MySQL: http://dev.mysql.com/doc/mysql/en/error-handling.html

tsvmaster 21.02.2005 17:26:21

AW: Tabelle testen
 
oder könnte das auch anders machen. wie kann man aus einer tabelle herausfinden, ob in einer spalte ein bestimmter wert vorkommt? würde das dann mit ner anderen tabelle verbinden und so...

Snak 03.03.2005 15:14:18

AW: Tabelle testen
 
Was wäre den die Trafficschonenste und schnellste Variante zu testen ob eine Tabelle in der DB vorhanden ist?

c4 03.03.2005 15:17:05

SHOW TABLES in der gewünschten DB ausführen und das dann nach den gewünschten Tabelle durchsuchen.

Meist kann man von ausgehen, dass der MySQL-Server im gleichen Rechenzentrum/Unternehmen wie der Webserver steht und somit kein rechnungsrelevanter Traffic anfällt.

Snak 03.03.2005 16:04:42

AW: Tabelle testen
 
Wenn ich also im Script teste ob die Tabellen alle da sind, und das bei jedem neuen Aufruf, kann ich davon ausgehen das das keine Belastung in irgend einer Form ergibt? :D

c4 03.03.2005 16:30:35

Natürlich findet eine Belastung statt. So lange es nicht zur Auslastung/Überlastung führt ist das auch egal.

Die Idee, diese Überprüfung bei JEDEM Aufruf vorzunehmen solltest Du noch mal überdenken oder gibt's dafür 'nen guten Grund?


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37:36 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.