SQL: Benutzername in andere Tabelle eintragen?

...komplette Frage anzeigen

2 Antworten

Als kleinen Tipp: Ich würde die primären Schlüssel sprechend benennen.

In der Tabelle user also user_id. Das hat den Vorteil das du deine DB-Struktur später besser lesen kannst und auch beim Schreiben von Code hast du es dann leichter.

Ich würde in deinem Fall wie folgt vorgehen.

Wenn ein User sich anmeldet, würde ich die Daten, also mindestens die user_id in eine Sessionvariable speichern. Mit dessen Hilfe kannst du dann beim Speichern des Forumeintrags die user_id wunderbar mit in die forum Tabelle abspeichern. User_id deshalb, weil diese eindeutig ist, im Gegensatz zu einem Namen.

Später, beim Anzeigen des Beitrags holst du dir ja aus der DB die Daten von diesem und kannst mit Hilfe der user_id dir auch die Daten des Nutzers holen.

Das funktioniert dann auch wunderbar anders herum, wenn du dir z.B. alle Einträge von Nutzer xy anzeigen lassen willst.


Antwort bewerten Vielen Dank für Deine Bewertung
theplayer95 20.06.2016, 13:54

Vielen Dank für deine tipps aber ich habe vergessen zu erwähnen das ich nicht am anfang bin die Seite aufzubauen :D

Ich habe die Seite schon so gut wie Fertig und wollte nur noch ein kleines Forum hinzufügen wo man sich austauschen kann. Ich weis nur nicht wie ich das Problem löse mit dem Fremdschlüssel und das der Name von tabelle '_user' in die Tabelle '_forum' bei ein neuen eintrag kopiert wird.

0
Unsinkable2 20.06.2016, 17:15

Als kleinen Tipp: Ich würde die primären Schlüssel sprechend benennen. In der Tabelle user also user_id.

Kleiner Tipp: Das ist bereits geschehen:

13048798_user.Id


Redundante Benennungen verbessern die Lesbarkeit nur, wenn weitere Id-Werte gepflegt werden sollen:

13048798_user.User_Id
13048798_user.Address_Id
...



1

Es geht in PHPMyAdmin sehr einfach Beziehungen zu erstellen. Verstehe aber nicht wozu das für die Abfrage der Benutzernamen zwingend notwendig sein sollte. Du kannst dir ja ein SELECT Statement basteln wie du willst.

Werte doppelt in eine DB zu speichern ist schlechtmöglichste Praxis.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?