sqlite列宽

时间:2009-04-18 22:11:37

标签: sqlite schema

我正在通过sqlite db

执行PRAGMA table_info
PRAGMA table_info(my_table);

这些是检索到的列:

名 类型 NOTNULL dflt_value PK

我注意到在(n)(var)char数据类型的情况下没有列宽,是否有任何简单的方法来获取此信息?

注意:我知道在这些列中插入大值没有问题,但是,无论如何我想访问此元数据。

3 个答案:

答案 0 :(得分:2)

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

类型列包含

  • (n)(var)char表示宽度为1的列
  • (n)(var)char(x)表示宽度大于1的列

答案 1 :(得分:1)

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

  

SQLite不强制使用VARCHAR的长度。你可以声明一个VARCHAR(10),SQLite很乐意让你输入500个字符。并且它将保持所有500个字符完整 - 它永远不会截断。

所以基本上,SQLite在这些字段上确实没有长度,它会很乐意接受任何东西。

答案 2 :(得分:1)

您可以通过从sqlite_master表中选择

来访问元数据