Hallo Pit,
Pit Zyclade hat geschrieben:
Ich habe eine solche Tabelle mit der internen HDQLDB intern erstellt und habe verschiedene SQL-Befehle in der von euch genannten Art erstellt:
Obwohl jeweils die erfolgreiche Durchführung vermeldet wurde, hat sich an meiner Tabelle diesbezüglich nichts (!) geändert.
Versuche einmal, in solch eine Tabelle einen neuen Datensatz über SQL einzugeben. Ich habe das gerade noch einmal getestet. Lasse ich das Boolean-Feld bei der Eingabe aus, so wird es automatisch auf TRUE gesetzt, sofern ich den Default-Wert vorher eingegeben habe.
Der Haken an der Sache ist: In der GUI wird bei der Tabelleneingabe ein Markierfeld erstellt. Wird ein Datensatz abgespeichert, so ist dieses Feld mit FALSE vorbelegt. Damit greift das Setzen des Default-Wertes nicht mehr. Der Default-Wert wird von der Datenbank nur gewählt, wenn in dem Feld keine Eingabe gemacht wurde.
Würdest Du die Eingabe z.B. über ein Formular machen, so könntest Du dem Feld den dreifachen Status zuweisen. Vielleicht hilft das, dass schließlich zum Default-Wert gegriffen wird. Oder Du lässt das Feld im Eingabeformular ganz raus. Dann wird es auf jeden Fall TRUE gesetzt, wenn das die SQL-Default-Einstellung ist.
Tatsächlich scheint mir zumindest in der aktuellen LO 5.1.1.2 dieses Feld eine nicht erwünschte Eigenschaft zu haben: Keine Eingabe und trotzdem wird das Feld nicht auf NULL gesetzt. Das ist eine Bugmeldung wert.
... und die ist bereits gemacht:
https://bugs.documentfoundation.org/sho ... i?id=92509
Gruß
Robert