SQLite - 如何在Create Table语句中定义列的默认值,并引用其他列值

时间:2014-03-26 14:02:34

标签: sqlite

我使用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列,那么我应该如何实现这样的要求。有人可以举个例子吗

1 个答案:

答案 0 :(得分:1)

DEFAULT value expression must be a constant expression并引用其他列值使其成为非常数。

在选择数据以连接其他列值时,您可以使用IFNULL() or COALESCE(),以防值null。例如:

SELECT IFNULL(fullname, firstname || ' ' || lastname) ...