bit-Felder einfügen am SQL-Server

Was in Microsoft Access ohne Probleme möglich ist, funktioniert am SQL(express)-Server leider etwas komplizierter.
Fügt man in eine Tabelle neue Ja/Nein-Felder als „bit“ ein, dann ist es notwendig, dass hier keine 0 erlaubt werden.
Mit dieser Option lässt der SQL(express)-Designer die DB aber nicht speichern.

Dafür gibt es 2 Lösungsmöglichkeiten:

Eine Spalte „GUID“ einfügen mit dem Feldtyp „timestamp“ in die Tabelle einfügen und es gibt keine Probleme mehr mit erlaubten 0 bei bit-Feldern. Wobei mir das nicht ganz sauber erscheint…

Quelle: https://microsoft-programmierer.de/Office-365/Access/Fehler/Access-fehler_colon_-Dieser-Datensatz-wurde-seit-Beginn-der-Bearbeitung-von-einem-anderen-Benutzer-ge%C3%A4ndert_dot_?2435

Besser:
zuerst die 0 zu erlauben und die bestehenden Felder der DB über SQL (oder mittels Copy/Paste im Access/Excel) zu überschreiben – damit werden alle Felder von „Null“ auf 0 gesetzt und haben somit einen gültigen Wert.
Im Anschluss in der Datenbank das Flag Allow nulls deaktivieren, Speichern und alles ist sauber.
Neue Einträge werden durch die nicht erlaubten 0 somit automatisch korrekt befüllt. Bei bestehenden Einträgen ist das nicht der Fall, auch wenn die Spalte ganz frisch hinzugefügt wird…

Falls hier jemand eine plausible technische Erklärung hat, warum das nicht automatisch funktioniert, bitte einen Kommentar da lassen 😉

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.