SQL DAtenbankname anzeigen?

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.


Svenwas3f 
Fragesteller
 10.04.2018, 15:04

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

0
regex9  10.04.2018, 15:43
@Svenwas3f

Das hört sich irgendwie nicht gut an. Bekommt jeder Nutzer etwa eine eigene Datenbank zur Verfügung?

0
Svenwas3f 
Fragesteller
 10.04.2018, 18:46
@regex9

ES geht um einen Chat. Ich möchte alle Einträge in einer Datentabelle speichern und dann auslesen. Ich habe mir überleg das es am einfachsten ist wenn ich es mit temporären tabellen versuche.

0
regex9  10.04.2018, 20:25
@Svenwas3f

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).

0