我的队友使用SQLite Manager for Firefox为我们的Android应用程序创建了一个SQLite数据库,但我注意到ERD中标有星号的大多数列在他创建的数据库中没有约束not null
。我向他询问了这件事,他说他不确定要把什么用于默认值。我自己尝试添加一个带约束的列。如果我选择not null
但保留默认值为空白,我会得到此
SQLiteManager: ALTER TABLE "main"."productorder" ADD COLUMN "cart_id" INTEGER NOT NULL [ Cannot add a NOT NULL column with default value NULL ]
我更喜欢大多数列没有默认值,但是程序员只是在没有给出值的情况下阻止了行。
如果必须,我们可以提供所有必填列的默认值。我发现了这个问题,它说''可以作为VARCHAR
列的默认值
Laravel migration with sqllite 'Cannot add a NOT NULL column with default value NULL'
但是我不知道外键(如cart_id),日期,邮政编码等的默认值是什么。