From: "Todd Benson" <caduceass / gmail.com> > > No solid constraints for data integrity. Like foreign key > constraints, for example. Somebody mentioned on this list in a > different thread, though, that this will change in the future. Here's > a contrived example without caps... > > sqlite3 --version > => 3.4.0 > sqlite3 > > create table food ( > ingredient varchar not null primary key > ); > > create table measurements ( > measurement varchar not null primary key > ); > > create table preparation ( > measurement not null references measurements (measurement), > ingredient not null references food (ingredient), > primary key (measurement, ingredient) > ); > > insert into food values ("garlic"); > insert into measurements ("clove"); > insert into preparation (measurement, ingredient) values ("garlic", "clove"); > insert into preparation (measurement, ingredient) values ("clove", "garlic"); > select * from preparation; > > => garlic |clove (yes, the result has that space after garlic) > => clove|garlic What actually happened there? Is it that SQLite added the space on purpose because it noticed "garlic" didn't satisfy the "references measurements (measurement)" clause? Or is the space just some artifact of its output formatting that doesn't relate to the data? Puzzled, Bill