I missed that part of the documentation, thanks On 19 January 2018 at 07:51, Rowan Worth <row...@dug.com> wrote:
> https://www.sqlite.org/withoutrowid.html > > "NOT NULL is enforced on every column of the PRIMARY KEY in a WITHOUT ROWID > table." > > It goes on to say that NOT NULL is supposed to be enforced on all PRIMARY > KEY columns of _every_ table according to the SQL standard, but an early > version of sqlite included a bug which allowed NULLs and as a result sqlite > does not enforce this for ROWID tables. > > -Rowan > > On 19 January 2018 at 14:32, Shane Dev <devshan...@gmail.com> wrote: > > > Hello, > > > > The following SQL works as I expect - > > > > sqlite> CREATE TABLE edges(parent int, child int, primary key(parent, > > child)); > > sqlite> insert into edges select null, 1; > > sqlite> select * from edges; > > parent child > > 1 > > sqlite> > > > > but if I remove the superfluous rowid column from the table definition - > > > > sqlite> drop table edges; > > sqlite> CREATE TABLE edges(parent int, child int, primary key(parent, > > child)) without rowid; > > sqlite> insert into edges select null, 1; > > Error: NOT NULL constraint failed: edges.parent > > sqlite> > > > > Why do I get this error? > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@mailinglists.sqlite.org > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users