>Neither will return any values since a primary key can not be NULL.

Untrue.  
The RowID alias "integer primary key" cannot be NULL  
However components of primary key(...) can be null (ie, that are not aliases 
for the RowID) and are not the PRIMARY KEY of a without rowid table.

" According to the SQL standard, PRIMARY KEY should always imply NOT NULL. 
Unfortunately, due to a bug in some early versions, this is not the case in 
SQLite. Unless the column is an INTEGER PRIMARY KEY or the table is a WITHOUT 
ROWID table or the column is declared NOT NULL, SQLite allows NULL values in a 
PRIMARY KEY column. SQLite could be fixed to conform to the standard, but doing 
so might break legacy applications. Hence, it has been decided to merely 
document the fact that SQLite allowing NULLs in most PRIMARY KEY columns. "

Under SQL Data Constraints at https://sqlite.org/lang_createtable.html

---
The fact that there's a Highway to Hell but only a Stairway to Heaven says a 
lot about anticipated traffic volume.



_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to