SQL DAtenbankname anzeigen?
Kann man mit einem SQL-Statement den Namen einer Datenbank auslesen?
Ich habe das Problem das ich temporäre Tabellen erstellen muss, und dann diese auslesen soll, aber ich möchte dort nur der Titel also der Titel der Datenbank.
2 Antworten
Wenn du dich mit der Datenbank verbindest, musst du den Namen der Datenbank doch bereits kennen und kannst ihn in eine Query einsetzen.
Andernfalls solltest du ihn auch so bekommen:
SELECT DATABASE();
Was du da genau vorhast, habe ich noch nicht verstanden. Aber vermutlich ist das an dieser Stelle auch unwichtig.
Das hört sich irgendwie nicht gut an. Bekommt jeder Nutzer etwa eine eigene Datenbank zur Verfügung?
Dafür würde ich nicht jedesmal eine neue Tabellenstruktur anlegen lassen, denn so ist die Anwendung nicht unbedingt skalierbar. Auch das Löschen einer Tabelle würde einen Aufwand einfordern, der umgehbar ist.
Speichere doch alle Nachrichten (unabhängig vom Chatroom) stattdessen in einer Tabelle. In dieser wird einer Nachricht die Sendezeit, der Text und der Urheber zugeordnet sowie eine ID, welche eine Konversation eindeutig identifiziert. Eine weitere Tabelle würde die Konversationsteilnehmer miteinander verknüpfen (Teilnehmer 1, Teilnehmer 2, ...). Damit Daten nicht durchgehend in die Datenbank geschrieben werden, könnte ein Buffer eingebaut werden, der bspw. nur alle 30 Minuten Nachrichten in die Datenbank schreibt o.ä..
Genauso müssen bei Einsicht des Verlaufs nicht sofort alle Nachrichten ausgelesen werden. Stattdessen kann man da schrittweise vorgehen (z.B. immer nur 50 Nachrichten laden).
SRY. Hbe es föllig falsch gesagt es sind Tabellen :-( !!!!!!!!!!!!!.Ich erstelle einige Temporäre Tabellen, welche aus Inhalten eine Hauptdatenbank kommen um es einfacher zu machen. Der Name der temporären Datenbank wird vom Client bestimmt, somit weis ich leider ja nicht wie er sie nennt. Aber versuche mal