ich möchte 2 tab. verknüpfen 1:n habe in tab1 einen primary key - auto increment not null definiert
und in tab2 einen unique key - not null definiert
sind jetzt bereits beide tab. miteinander verknüpft ? normalerweise müsste doch bei anlage von datensätzen in tab2 er den schlüssel von tab1 übernehmen ?( sonst wärs ja keine 1:n beziehung)
Dummerweise kennt ist MySQL zwar ein relationales Datenbanksystem nur kennt es relationen im eigentlichen Sinne nicht. Andere Datenbanksysteme haben einen Relationsmanager und löschen z. B. auf Wunsch 1:n verknüpfte Datensätze den n Part automatisch wenn der 1 Part gelöscht wird. Innerhalb von MySQL kann man zwar solche Relationen herstellen - allerdings nur logisch. So kannst du z. B. eine 1: Datensatz anlegen und den Primärschlüssel mit mysql_insert_id() (so heißt der Befehl auf php Seite. Andere System haben vergleichbare Befehle aus dem MySQL Befehlspool) abfragst und dann beim einfügen in die :n Seite verwendest. Für die Datenabfrage verwendest Du einen SQL Befehl mit Join. Dazu einfach mal im Handbuch nachsehen. Ist ganz einfach. Als Vereinfachung für Anfänger ist der SQL Query-By-Example Editor von MS Access zu nennen. Sehr einfach werden da SQL Statements zusammengestellt und können dann optional angezeigt und fast direkt verwendet werden. Beste Grüße, Marco
Teilnehmer (1)
-
Marco Meier