[mySQL] leere Zelle automatisch füllen?

piano

Mitglied
Hallo,
also, ich habe eine Datenbank-Tabelle mit den Spalten
id, tt1, tt2, tt3, tt4, tt5...

Wenn man auf einer anderen Seite bestimmte Informationen eingibt, soll in einer Spalte diese Information rein. Klappen tuts ja theoretisch, nur müsste die Spalte von alleine gesucht werden, weil sich ja immer etwas ändert, mal ist z.B. tt4 leer und mal nicht.
Die Spalte, in der die Infos eingetragen werden sollen, muss leer sein und die Infos sollen auch nur in die erste Spalte eingetragen werden, die leer ist.

Bsp:
id | tt1 | tt2 | tt3 | tt4 | tt5 | ...
1 | tr4 | tr8 | leer | tr7 | leer |

In diesem Falle sollte die neue Info nur im tt3 eingefügt werden, tt5 soll leer bleiben.
Die nächste Info soll (im Fall, dass tt1-tt4 leer bleiben), dann in tt5 rein.

Funktioniert das überhaupt? Und wenn ja, kann mir jmd sagen, wie man das realisieren könnte?
Über eine Antwort wäre ich sehr dankbar.

VlG piano
 
Hallo,

grundsätzlich geht das was du vorhast schon, wenn auch nicht unbedingt mit Hausmitteln von SQL. Mit einer Stored Procedure oder etwas Applikationscode z.b. PHP kann man soetwas leicht realisieren. Aber ich finde es nicht gut gelöst, daher frage ich mal andersrum:

- Was steht denn in den einzelnen Spalten?
- Warum müssen es Spalten einer Tabelle sein? Richtig zum Tragen kommen die Möglichkeiten eines DBMS bei Verwendung von zeilen-basierter Logik.
- Kommen eventuell noch weitere Spalten dazu? tt6 tt7 tt8 ? Willst du dazu jedes Mal dynamisches SQL verwenden oder die Applikation ändern um die neuen Spalten anzusprechen?

Ich würde das ganze auf verschiedene Einträge einer oder zweier Tabellen verteilen. Dann kannst du mittels UPDATE / INSERT und WHERE ganz einfach deine beliebig vielen Datensätze einfügen und ändern. Zur eindeutigen Idenfikation hast du ja berets deine ID, die zusätzlichen Daten kannst du in einer 2.Tabelle ablegen, die eine Fremdschlüsselbeziehung zur 1.Tabelle besitzt und deren Zeilen aus den einzelnen Einträgen "tt1"... "tt5" bestehen und eventuell einen Sortierschlüssel, falls die Reihenfolge wirklich wichtig ist.

Wenn ichs falsch verstanden haben sollte, klär mich bitte auf :)

Markus
 
insgesamt gibts 31 Spalten, id und tt1-tt30
Ich habe Spalten verwendet, weil...naja, also jedes Mitglied hat dort eine eigene id, das dahinter ist halt der Inhalt, nur fürs Mitglied. Der Inhalt sind nur 2-3 Wörter, die ich in einer anderen Tabelle wieder ausgebe.

Ich versteh nich so ganz, wie du das meinst, mit auf verschiedene Einträge einer oder zweier Tabellen aufteilen...?

VG und danke erstmal,
piano
 
Hallo pinao,

also wenn du schreibst, dass das, was du einfügen sollst, einfach der "Inhalt* sein soll, ist das nichts, womit man bei der Datenmodellierung etwas anfangen kann, sorry.

Ich stelle mir das grob so vor:


Tabelle "mitglieder"
ID .... <Primärschlüssel>
Name ...
etc..


Tabelle "inhalte" ?
ID <Primärschlüssel>, alternativ auch Compound Key aus <Mitglied_ID> und <Kennung>
Mitglied_ID <Verweis auf Tabelle mitglieder:ID
Kennung ? (tt1 ?) - dazu müsste man wissen, was hier enthalten sein soll, alternativ sollte hier ein Sortierschlüssel hin
Inhalt ? (=tr4 ?) - was soll das darstellen?


Beschreibs bitte noch genauer, ansonsten kann ich es nicht besser darstellen.
 
Zurück