【问题标题】:SQLite - How to define Default value of column in Create Table statement taking reference of other column valueSQLite - 如何在参考其他列值的创建表语句中定义列的默认值
【发布时间】:2014-03-26 14:02:33
【问题描述】:

我使用 SQLite 数据库并想创建如下表:

Create Table EMPLOYEE ( [FirstName] [varchar](50), [LastName] [varchar](50), [FullName] [varchar](150) AS ([FirstName] + ' ' + [LastName]) );

是否可以让任何列的默认值(如FullName)引用同一表中存在的其他列的值。

更新:

我尝试使用这些 IFNULL 和 COALESCE 函数形成 CREATE TABLE 语句,但每次都失败。我应该如何编写具有计算列的 CREATE TABLE 语句。如果不支持 CREATE 语句中的此类计算列,那么我应该如何实现这样的要求。谁能给我一个例子

【问题讨论】:

    标签: sqlite


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2021-05-21
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多