Tein: DB-Verwaltung, Tabelle ohne Primärschlüssel

Hallo zusammen.

ich programmiere gerade an einem MySQL-Verwaltungstool, mit dem Hintergedanken, dieses Projekt einmal der Welt anbieten zu können.

Nun muss ich dort unterscheiden, wieviele Primärschlüssel in einer Tabelle sind. Das sind entweder 2, 1 oder keiner.
Und genau letzteres bereitet mir gerade Kopfzerbrechen. Angenommen ich möchte in einer Tabelle OHNE Primärschlüssel einen Datensatz löschen, besteht die Möglichkeit, mit dem dazu erzeugten DELETE-SQL mehr als einen Datensatz zu löschen. Ist das dem Benutzer zuzutrauen?
Ich könnte mir zum Beispiel vorstellen, zu prüfen, ob die Anzahl der mit diesem SQL zu löschenden Datensätzen größer 1 ist, und demnach eine Warnungsmeldung auszugeben.

Lg
Tein

  1. Hi!

    Nun muss ich dort unterscheiden, wieviele Primärschlüssel in einer Tabelle sind. Das sind entweder 2, 1 oder keiner.

    Es gibt nur einen oder keinen Primärschlüssel, nicht zwei. (Wenn du damit meinst, dass sich der Primärschlüssel über mehrere Spalten erstrecken kann, das kann er auch über mehr als zwei.)

    Angenommen ich möchte in einer Tabelle OHNE Primärschlüssel einen Datensatz löschen, besteht die Möglichkeit, mit dem dazu erzeugten DELETE-SQL mehr als einen Datensatz zu löschen.

    Ja, wenn zu den angegebenen WHERE-Bedingungen mehrere Datensätze existieren und du kein LIMIT verwendest, werden eben alle passenden Datensätze gelöscht.

    Lo!