【问题标题】:How to set default value to empty string for TEXT column?如何将 TEXT 列的默认值设置为空字符串?
【发布时间】:2014-10-02 19:13:21
【问题描述】:

我正在使用 SQLite 管理器。

我有一个名为“MainContactName”的列,它的结构是TEXT NOT NULL=0

默认情况下,列中的每一行都有一个“红色背景”,这意味着它是NULL。我怎样才能让它有一个“绿色背景”并且是空字符串?

【问题讨论】:

  • 输入一个空格怎么样?会是绿色的?!
  • 是的,它会,但我希望列中的每个新行都默认为空。
  • select case when background=red then green end as background from table:P
  • 严肃地说,您能否详细说明一下您认为 null 和 empty 之间的区别?您是指 null(如诚实的 ANSI SQL 标准 null)与空字符串吗?
  • WHERE e.MainContactName IS NULL WHERE e.MainContactName IS NOT NULL IS NOT NULL 显然会显示我所有的行,其中包含文本......我希望它显示每一行......是这就像使列 NOT NULL 一样简单?

标签: sqlite


【解决方案1】:

您可以在创建表时为列指定默认值。 (您似乎无法使用 ALTER 语句添加默认值,因此您必须重新创建表。)

CREATE TABLE your_table_name
(MainContactName TEXT NOT NULL DEFAULT '')

在没有为 MainContactName 指定值的情况下插入的新行的 MainContactName 字段将具有一个空字符串。您可以尝试在该字段中显式插入空值,但查询会由于 NOT NULL 约束而崩溃。

【讨论】:

猜你喜欢
  • 2011-04-09
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
  • 2011-08-25
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多