Ich habe die folgenden Tabellenspalten in MySQL.Bidirektionale eindeutige Schlüsseleinschränkung für die Kombination von zwei Spalten
id
user_primary_email
user_secondary_email
Ich mag die Kombination von Spalten user_primary_email
und user_secondary_email
einzigartig machen, die ich unter Verwendung UNIQUE KEY unique_key_name (user_primary_email, user_secondary_email)
Die obige Zugabe von eindeutiger Schlüsselbedingung wird dazu beitragen, erreichen kann mir das unten stehende Szenario zu erreichen oder vielmehr nur durch eine Zugabe eindeutiger Schlüssel für die einzelne Spalte selbst.
Jetzt ist das Problem, mit dem ich konfrontiert bin, die gleiche Kombination sollte nicht in umgekehrter Weise hinzugefügt werden, wie unten erwähnt.
user_primary_email = '[email protected]' AND user_secondary_email = '[email protected]' //This should not be allowed to add since already same email id combination added once
id | user_primary_email | user_secondary_email
-------------------------------------------------------
1 | [email protected] | [email protected]
-------------------------------------------------------
2 | [email protected] | [email protected]
-------------------------------------------------------
Im obigen Fall während des Einsatzes der Reihe ID 2 es Fehler, da sowohl die E-Mail-ID-Kombination in Reihe ID1 verwendet wird bereits werfen soll.
Jede Hilfe wäre großartig.
Bedingungsprüfung? http://www.w3schools.com/sql/sql_check.asp – Kritner
Dies wird in diesem Szenario nicht funktionieren. – user850234
ah, sorry ich bin mir nicht sicher über mysql. Ich weiß, in SQL-Server können Sie eine Funktion schreiben, die eine Abfrage innerhalb hat, die in eine Check-Constraint platziert werden kann ... ich denke, das gleiche existiert nicht für MySQL? – Kritner