如何在SQLite中添加以大小写作为默认设置的列?

o2g1uqev  于 2022-11-14  发布在  SQLite
关注(0)|答案(1)|浏览(132)
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语句中做到这一点

hgtggwj0

hgtggwj01#

在SQLite中,添加的列不允许将表达式作为其缺省值。
下面说明了ALTER TABLE ADD COLUMN语句的语法:
ALTER TABLE TABLE_NAME ADD COLUMN_DEFINITION;代码语言:SQL(结构化查询语言)(SQL)对新列有一些限制:
新列不能有唯一或主键约束。如果新列具有NOT NULL约束,则必须为该列指定非NULL值的默认值。新列不能具有默认的CURRENT_TIMESTAMP、CURRENT_DATE和CURRENT_TIME或表达式。如果新列是外键,并且启用了外键约束检查,则新列必须接受缺省值NULL。
Source

相关问题