Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firebird Feld mit foreign key "0" anstelle von NULL

  Alt 30. Jul 2018, 17:04
FK zeigt auf etwas und wenn das nicht existiert, dann knallt es. (Ausnahme: NULL = nichts)
Also per se ist deine Definition falsch und alle 0 müssen NULL sein.

Ich weiß nicht ob/wie es mit ForeignKey geht, aber bei UniqueKey kann man in der Definition anstatt dem feldname auch z.B. nullif(feldname, 0) verwenden, womit der Index dort dann als NULL gespeichert wird.
Auch andersrum geht es beim UK, also z.B. coalesce(feldname, 0) und schon können auch NULL-Werte nicht mehrfach vorhanden sein. (NULL wird ja normalerweise von der Unique-Prüfung ignoriert)
$2B or not $2B
  Mit Zitat antworten Zitat