ALTER TABLE [table_name] ADD COLUMN alloc_strat varchar(25) NOT NULL
DEFAULT(CASE
WHEN (shelf_life_unit = 'Months') THEN 'Min Remaining Shelf Life'
ELSE 'FIFO')
;
这不起作用,有没有办法在一个sql语句中做到这一点
在SQLite中,添加的列不允许有默认的表达式。
以下说明ALTER TABLE ADD COLUMN的语法声明:
ALTER TABLE TABLE_name ADD COLUMN COLUMN_definition;代码语言:SQL(结构化查询语言((SQL(新栏目:
新列不能具有UNIQUE或PRIMARY KEY约束。如果新列具有NOT NULL约束,必须指定默认值对于NULL值以外的列。新列不能有CURRENT_TIMESTAMP、CURRENT_DATE和CURRENT_IME的默认值,或表达式。如果新列是外键,并且外键如果启用了约束检查,则新列必须接受默认值值为NULL。
源