Zwei Spalten-Primärschlüssel in MySQL

Ich habe ein sehr einfaches problem und eine Lösung, die funktionieren wird, aber ich bin auf der Suche nach einer einfacheren.

Möchte ich verhindern, dass Zeilen, die Hinzugefügt wird, um eine Datenbank, wenn mehrere Werte gleich Sie vorhandene Werte. Zum Beispiel, wenn a2=a1 UND b2=b1 dann die Daten, wird abgelehnt. Wenn nur a2=a1 oder nur b2=b1 ist es erlaubt. Im Grunde möchte ich es, zu handeln wie ein Primärschlüssel erfordert, dass beide Werte übereinstimmen.

Ich weiß, ich kann dies tun, durch die Validierung, bevor ich in die Datenbank schreiben--ex. select * where a='a2' und b='b2' und dann vermeiden Sie das schreiben von neuen Daten, wenn ich die Ergebnisse erhalten. Was würde ich lieber tun, ist ermöglichen eine MySQL-Einstellung, wie primary key, zu blockieren, Daten wie diese automatisch.

Ich bin nicht sehr vertraut mit MySQL außerhalb von Basis-features, also entschuldigt, wenn das ist trivial einfach. Googeln für alle möglichen Dinge rund eindeutigen index und Primärschlüssel nicht helfen.

InformationsquelleAutor Evan | 2008-12-05
Schreibe einen Kommentar