Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: Firebird Feld mit foreign key "0" anstelle von NULL
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|