代码之家  ›  专栏  ›  技术社区  ›  Jhonny D. Cano -Leftware-

sqlite列宽度

  •  1
  • Jhonny D. Cano -Leftware-  · 技术社区  · 16 年前

    我正在通过sqlite数据库执行pragma table_info

    PRAGMA table_info(my_table);
    

    这些是检索到的列:

    名称 类型 非零 DFLTY值 PK

    我注意到在(n)(var)char数据类型的情况下没有列宽,有什么简单的方法可以得到这个信息吗?

    注意:我知道在这些列中插入大的值是没有问题的,但是,我还是想访问这个元数据。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Jhonny D. Cano -Leftware-    16 年前

    检查查询结果的内容时: pragma table_info(my_table);

    类型列包含

    • 宽度为1的列的(n)(var)字符
    • 宽度大于1的列的(n)(var)char(x)
        2
  •  1
  •   Epcylon    16 年前

    http://www.sqlite.org/faq.html#q9 :

    sqlite不强制varchar的长度。您可以声明一个varchar(10),sqlite将乐于让您在其中输入500个字符。它将保持所有500个字符的完整性——它从不截断。

    所以基本上,sqlite在这些字段上没有长度,它很乐意接受任何内容。

        3
  •  1
  •   Noah    14 年前

    您可以通过从sqlite_主表中进行选择来访问元数据。