phpbar.de logo

Mailinglisten-Archive

[php] id aus mehreren tabellen selectieren und gruppieren

[php] id aus mehreren tabellen selectieren und gruppieren

Beck, Mike php_(at)_phpcenter.de
Fri, 6 Sep 2002 16:35:52 +0200


> Hallo zusammen
>
> Damit keine daten in meiner mysql datenbank gelöscht werden
> die nicht geöscht werden dürfen muss ich alle
> id der personen über ca 10 tabellen selectieren. Kann ich das
> mit einem select machen oder sind dazu mehrere nötig?
>
> Falls nein wie muss ich das ganze selectieren?
>
im zweifelsfall reicht eins, ggf mit 9 Zeilen LEFT JOIN
aber vielleicht wird es klarer wenn Du etwas darüber sagst wie deine
Datenbank aufgebaut ist, so ganz verstehe ich nämlich noch nicht was Du
meinst. i.allg. tritt das Problem, dass man gewisse Datensätze nicht löschen
darf auf, wenn Du zum Beispiel eine Mastertabelle mit den Stammdaten der
Benutzer hast und dann diverse andere Tabellen die sich auf diese
Benutzertabelle beziehen. Wenn Du dann einen Benutzer aus der Haupttabelle
löscht hast Du u.U. in den anderen Tabellen Datensätze die ins leere
greifen. Wenn das der Fall ist kannst Du natürlich alle Detailtabellen über
die Benutzerid miteinander verknüpfen, prüfen ob Du einen oder mehr
Datensätze erhälst bei denen die Benutzerid stimmt und wenn ja, dann darfst
Du den Eintrag halt nicht löschen.

Meist ist es in einem solchen Fall aber ohnehin nicht sinnvoll den Eintrag
zu löschen - viel eleganter ist es oft sich eine ENUM  - Spalte in die
Tabelle anzufügen (is_User N/Y) und einfach nur diesen Wert zu setzen. Dann
brauchst Du Dir darüber keine Gedanken zu machen, kannst auch später noch
alte benutzerdaten nachvollziehen, ggf. einen alten Benutzer wieder
reaktivieren etc...

--
Mike Beck
mikebeck_(at)_users.sourceforge.net


php::bar PHP Wiki   -   Listenarchive