Sören: [MySQL] Verbindungstabelle bei einer m:n Realation aktualisieren

Guten Tag

Meine Verbindungstabelle sieht wie folgt aus:
id, permissionid, groupid

Nun möchte ich mit einer php funktion alle groupids für eine permissionid ändern:

function set_groupids_to_permissionid ($permissionid, $groupids = array()) {
}
$groupids sind in diesem Fall genau die groupids, die mit der angegebenen permissionid "verbunden" werden sollen. Alle anderen möglichen groupids sollen ausgeschlossen werden.

Ich hab mir gedacht, dass ich erst einmal alle Datensätze mit der angegebenen permissionid lösche:

DELETE FROM user_group_to_permission WHERE permissionid = $permissionid

Und dann den $groupids array durchgehe und einzeln wieder hinzufüge:

INSERT INTO user_group_to_permission SET permissionid = $permissionid, groupid = $groupid

Jedoch denke ich, dass dann der auto-increment wert der id Spalte sehr schnell nach oben schießt.

Gibt es da noch eine effizientere Variante?

Danke!

  1. yo,

    Ich hab mir gedacht, dass ich erst einmal alle Datensätze mit der angegebenen permissionid lösche:
    Und dann den $groupids array durchgehe und einzeln wieder hinzufüge:

    vielleicht habe ich das problem noch nicht verstanden, aber was spricht den gegen ein UPDATE befehl ?

    Ilja

  2. Hallo Sören,

    Jedoch denke ich, dass dann der auto-increment wert der id Spalte sehr schnell nach oben schießt.

    Dann lass das id-Feld doch einfach weg, das brauchst du in einer Tabelle die lediglich zwei Tabellen verknüpft nicht.

    Gruß,
    Tobias