Ich weiß, wir können mehrere NULL-Werte hinzufügen, aber warum erlaubt SQL nur eine Null?Warum erlaubt Unique Constraint nur einen Nullwert?
Antwort
Null - ist auch ein Wert, daher sollte es für eine eindeutige Einschränkung auch eins sein. Dies wird jedoch nicht in allen DBs unterstützt. MS SQL Server unterstützt dies, MySQL unterstützt mehrere Nullen.
Ich bin überrascht, SQLServer tut dies als null bedeutet wörtlich "Wert noch nicht festgelegt" in SQL. – Powerlord
Diese Annahme ist einfach nicht wahr. Mit einer einzigartigen Einschränkung, und sonst nichts, können Sie so viele null
s haben, wie Sie wollen.
Siehe z. B. This SQLFiddle.
Richtig, so definiert "SQL" (wie in "SQL der Standard") diese Anforderung –
Falsch. Unterschiedliche Datenbanken behandeln NULL-Werte in eindeutigen Einschränkungen unterschiedlich. –
- 1. Unique Constraint vs Unique Index
- 2. Odoo: unique constraint testen?
- 3. mysql - drop unique constraint
- 4. OpenERP Unique Constraint
- 5. select2 - wie man einen Nullwert erlaubt
- 6. Verschiebbare, case-insensitive unique constraint
- 7. android SQLiteConstraintException UNIQUE Constraint fehlgeschlagen
- 8. Oracle Unique Constraint mit Ausdruck
- 9. Сonstraint fehlgeschlagen UNIQUE Constraint fehlgeschlagen
- 10. Laravel 4 Validierung E-Mail Unique Constraint
- 11. Conditinal Unique Constraint nicht korrekt aktualisiert
- 12. Advantage Datenbankserver 8.1 UNIQUE CONSTRAINT mehrere Spalten
- 13. ORACLE Constraint, um Nullwert zu erlauben, IF
- 14. UNIQUE Constraint kombiniert mehrere Spalten mit einer Bedingung
- 15. SQL Foreign Key Constraint erlaubt keine Beziehung
- 16. Postgres Unique Constraint für zwei Spalten: Integer und Boolean
- 17. Wie wird Unique-Constraint-Verletzung in SDN4 richtig behandelt?
- 18. Multicolumn Unique Constraint für Spalten in verschiedenen Tabellen
- 19. Rails Tutorial: SQLite3 :: ConstraintException: UNIQUE Constraint fehlgeschlagen: users.email
- 20. Regex-Code erlaubt nur einen einzigen Platz
- 21. erlaubt nur URLs, die einen Parameter in
- 22. MySQL UNIQUE CONSTRAINT failing in CREATE TABLE mit nachfolgender INSERT
- 23. Wie funktioniert Unique Constraint funktioniert mit NULL-Wert in MySQL
- 24. Symfony - Unique Entity Constraint mit nicht zugeordnetem Feld
- 25. sql unique constraint für eine 2-Spalten-Kombination
- 26. Unterschied zwischen Hibernate-Unique-Constraint-Annotation und Postgresql-Abfrage
- 27. Django - Nullwert in der Spalte „gewinnt“ gegen nicht-NULL-Constraint
- 28. einen Nullwert zu MySQL-Datenbank vorbei
- 29. IntegrityError: Nullwert in der Spalte "city_id" verletzt nicht-NULL-Constraint
- 30. Warum ein Schnittstellenargument einen beliebigen Typ erlaubt
Mit "SQL" meinen Sie den SQL-Standard: Es erlaubt mehrere NULL-Werte für eine eindeutige Einschränkung –