Ich habe 3 Tabellen: Zahnärzte, Gruppen und Gruppenzwischenglieder. Viele Zahnärzte verbinden sich über die groupdentlink-Tabelle mit vielen Gruppen.
Ich versuche also eine Abfrage zu machen, wo Zeilen in groupdentlink eingefügt werden (alle Zahnärzte in dem Zustand mit allen Gruppen in dem Staat verbunden werden), aber nur, wenn diese Zeilen nicht bereits existieren. Kurz gesagt, ich möchte neue Zeilen hinzufügen, ohne bestehende zu überschreiben oder zu duplizieren.
Die Absicht der Abfrage lautet also etwa:
%Vor%Und ich habe keine Primärschlüssel in der Tabelle grounddentlink.
Vielen Dank im Voraus!
Sie brauchen keine Primärschlüssel, damit MySQL dies für Sie übernimmt, Sie sollten eine UNIQUE
Schlüsseleinschränkung für den kombinierten Satz der beiden Spalten hinzufügen.
Abfrage, um den eindeutigen Schlüssel dent_group_uniq_key
zu groupdentlink
hinzuzufügen.
Verwenden Sie dann INSERT IGNORE
für Ihre Abfrage:
INSERT IGNORE
wird versuchen, eine Zeile in Ihre Tabelle einzufügen, wenn es aufgrund einer Schlüsseleinschränkung fehlschlägt, verhält es sich wie nichts passiert.
Und ich denke, Sie können nur einen zusammengesetzten Primärschlüssel für die Kombination (f_dent_id, f_group_id) erstellen.
Und ich denke, Sie können einen zusammengesetzten Primärschlüssel für die Kombination (f_dent_id, f_group_id) erstellen.
Tags und Links mysql primary-key overwrite