Meh. ?Formatting:
sqlite> create table cc (c1 integer not null,c2 integer
check(typeof(c2)<>'null'));
sqlite> insert into cc values (null,null);
Error: NOT NULL constraint failed: cc.c1
sqlite> insert into cc values (1,null);
Error: CHECK constraint failed: cc
sqlite> insert into cc values (1,1);
sqlite> pragma ignore_check_constraints = yes;
sqlite> insert into cc values (1,null);
sqlite>
On Thursday, September 10, 2015 6:11 PM, Peter Aronson <pbaronson at
att.net> wrote:
That would be my assumption. ?And experimentation seems to back it up (at
least for NOT NULL):
sqlite> create table cc (c1 integer not null,c2 integer
check(typeof(c2)<>'null'));sqlite> insert into cc values (null,null);Error: NOT
NULL constraint failed: cc.c1sqlite> insert into cc values (1,null);Error:
CHECK constraint failed: ccsqlite> insert into cc values (1,1);
sqlite> pragma ignore_check_constraints = yes;sqlite> insert into cc values
(1,null);sqlite>
Peter
? ? On Thursday, September 10, 2015 6:02 PM, Simon Slavin <slavins at
bigfraud.org> wrote:
?
On 11 Sep 2015, at 1:17am, Peter Aronson <pbaronson at att.net> wrote:
> I do not believe NOT NULL is a CHECK constraint, though you could use gender
> TEXT CHECK(typeof(gender) <> 'null') is and would work much the same way,
> though possibly with less efficiency.
Looking at
<https://www.sqlite.org/syntax/column-constraint.html>
maybe the 'constraints' that the documentation refers to are the ones
specifically declared using CHECK in the table definition.? Perhaps NOT NULL
and UNIQUE don't count.
Simon.
?
_______________________________________________
sqlite-users mailing list
sqlite-users at mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users