我使用SQLite数据库并想创建如下表:
Create Table EMPLOYEE (
[FirstName] [varchar](50),
[LastName] [varchar](50),
[FullName] [varchar](150) AS ([FirstName] + ' ' + [LastName])
);
是否可以使任何列的默认值(如FullName
)引用同一表中存在的其他列的值。
更新:
我尝试使用这些IFNULL和COALESCE函数形成CREATE TABLE语句,但每次失败都是如此。我应该如何编写具有计算列的CREATE TABLE语句。如果不支持CREATE语句中的此类Computed列,那么我应该如何实现这样的要求。有人可以举个例子吗
答案 0 :(得分:1)
DEFAULT
value expression must be a constant expression并引用其他列值使其成为非常数。
在选择数据以连接其他列值时,您可以使用IFNULL()
or COALESCE()
,以防值null
。例如:
SELECT IFNULL(fullname, firstname || ' ' || lastname) ...