MySQL / phpmyadmnin - UNIQUE Schlüssel Angaben unklar

tklustig

Erfahrenes Mitglied
Hallo,
eine eigentlich triviale Frage: phpmyAdmin zeigt mir unter der Strukturansicht folgendes an:
1716384601024.png
Heist das jetzt, dass die Kombination von product_number und version_id unique sein muss oder dass sowohl product_number als auch version_id unique sein müssen?
Kann es also sein, dass eine einzelne product_number redundant gespeichert wird?
Hier noch die "Überschrift":
1716384844692.png
 

Anhänge

  • 1716384596073.png
    1716384596073.png
    7,6 KB · Aufrufe: 2
Lösung
Auch wenn ich selbst phpMyAdmin nie benutzt habe sieht das für mich aus, als ob die Kombination UNIQUE sein muss.

Heisst:
product_no - version
123456789 - A
123456789 - B
987654321 - A
987654321 - B

sind zulässig

Kann es also sein, dass eine einzelne product_number redundant gespeichert wird?
In dem Fall "Ja"

Der "Klassiker" um so eine Redundanz zu "vermeiden" wäre eine "m:n"-Beziehung mit einer Zwischen-Tabelle

Wobei sich aber dann die "philosophische" Frage stellt: Ist es denn überhaupt noch dasselbe Produkt, wenn es mehrere Versionen gibt?
Auch wenn ich selbst phpMyAdmin nie benutzt habe sieht das für mich aus, als ob die Kombination UNIQUE sein muss.

Heisst:
product_no - version
123456789 - A
123456789 - B
987654321 - A
987654321 - B

sind zulässig

Kann es also sein, dass eine einzelne product_number redundant gespeichert wird?
In dem Fall "Ja"

Der "Klassiker" um so eine Redundanz zu "vermeiden" wäre eine "m:n"-Beziehung mit einer Zwischen-Tabelle

Wobei sich aber dann die "philosophische" Frage stellt: Ist es denn überhaupt noch dasselbe Produkt, wenn es mehrere Versionen gibt?
 
Zuletzt bearbeitet:
Lösung
Ist zwar als gelöst markiert aber ich bin trotzdem der Sache noch Mal nach gegangen.

Lege ich zwei Spalten als unique an, bekomme ich sofort einen Fehler wenn nur der Wert in einer Spalte doppelt ist:
duplicate-key.png

Auf Stackoverflow kann man jedoch nachlesen, wie man die Kombination von mehreren Spalten unique macht:
How do I specify unique constraint for multiple columns in MySQL?
Tue ich das für meine Testtabelle ist das Verhalten wie erwartet: Mehrfache Einträge in einer Spalte sind möglich aber ich bekomme eine Fehlermeldung wenn ich versuche, eine Kombination einzufügen, die schon vorhanden ist:
duplicate-key-2.png

Edit: Getestet mit 10.4.17-MariaDB und HeidiSQL:
 
Zurück