Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL: Datensätze bei n:m Beziehung verknüpfen?

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe folgendes Datenbankmodell:

Benutzertabelle mit den Spalten "ID" und "Benutzername"

Rechtetabelle mit den Spalten "ID" und "Recht"

Beziehungstabelle zwischen den beiden Tabellen mit den Spalten "BenutzerID" und "RechtID"

Wenn ich nun den Benutzernamen und das Recht welches ihm zugeordnet werden soll gegeben habe, mit welchem SQL Code kann ich dann diese beiden Datensätze über die Beziehungstabelle verknüfen?

Danke!

Gruß,

Andreas

wenn ich dich richtig verstanden habe, musst du das so machen:


SELECT 

  benutzer.Benutzername, 

  rechte.Recht 

FROM 

  benutzer, 

  rechte, 

  beziehung 

WHERE 

  benutzer.id = beziehung.BenutzerID

 AND 

  rechte.id = beziehung.RechtID

so sollte es ungefähr funktionieren! Das du die Rechte vom Benutzer erhälst

Hallo,

ja so funktioniert das Auslesen der Rechte! Das hatte ich auch schon herausgefunden :) Aber wie funktioniert nun das Zuweisen?

Ich habe den Benutzer "user1" und das Recht "lesen". Beide stehen bereits in den Tabellen. Nun muss ich mit einer SQL Abfrage beide ID's herausfinden und diese dann in die Beziehungstabelle eintragen. Wie funktioniert das?

Gruß,

Andreas

Indem du das in einem Script auswählst und dann mit einem INSERT-Befehl die Daten in die Beziehungstabelle schreibst. Was ist da so kompliziert?

Ja, mit einem Script ist das Leicht! So habe ich es auch bereits gelöst! Allerdings dachte ich, dass man das auch komplett in SQL machen kann (ID's herausfinden und eintragen) - oder ist das falsch?

Gruß,

Andreas

das geht nicht, höchstens du hast nur ein Recht, dann hat das Recht ja jeder!

Wenn du mehrere Rechte hast, z. B. Lesen, Schreiben, Löschen, usw. hast, dann brauchst du auf jeden Fall die Beziehungstabelle um zu unterscheiden wer welches Recht hat. Sonst geht das nicht!

  • 2 Jahre später...

Hallo schmiddi,

beschäftige mich zur Zeit ebenfalls mit einer Verknüpfungstabelle ähnlicher Art und bin verzweifelt auf der Suche nach einem script, um mit einem insert die Beziehungstabelle zu beschreiben. Kannst Du mir mit einem solchen script netterweise behilflich sein?

VG

beefheart

Ok, mal ein wenig zurückrudern ....

Was genau wollt ihr bewerkstelligen ?

Fall 1

Du hast gewisse Rechte, ala "lesen", "schreiben", "löschen" etc

Fall 2

Deine Rechte sind mehr oder weniger User Groups, mit Bezeichnung, die dann eben über ihre User Group diverse Rechte hat, wovon dann jeder User auch in mehreren sein kann.

Als nächstes, sql befehle werden auch gern als Script bezeichnet, was ist bei dir ein "script" ?

Die Sache ist die, beschreib mal bitte detailiert, das Umfeld, was hast du an User eingaben, und wohin willst du dann mit dem sql etc.

Dann kann man dir da weiterhelfen. Und recht unabhänig davon was du vor hast, wenn man UDT`s und stored procedures mit reinrechnest, da kannst du alles was du mit daten machen willst per sql direkt auf dem server lösen.

Gruß

Sven

Hallo,

danke für die schnelle Antwort.

was ich suche ist ein php-script (Formular) rein für den Administrator, also alle Rechte inbegriffen.

Hintergrund kurz skizziert:

Ein Kursblegungsplan mit den Tabellen (Studenten, Kurse, Kursbelegung)

Hierüber möchte ich mittels eines Formulars (Auswahlliste f.d. Studenten) und (Checkboxen f.d. Kurse) die entsprechenden Kurse markieren und in die DB laden.

Es werden mehr als 50 Kurse angeboten, deshalb ist es für mich sehr unübersichtlich die Studenetn mit ihren belegten Kursen als Bsp.(INSERT INTO Kursbelegung VALUES (1,4); direkt im phpmyadmin einzugeben.

Hoffentlich reichen meine Angaben aus meine Problemstellung zu erfassen.

Vielen Dank

beefheart

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.