【发布时间】:2017-08-11 19:28:09
【问题描述】:
sqlite CLI 中的以下命令不起作用(省略号在实际命令中展开):
create table a ('c0, c1, c2, c3, ..., c1000');
我只剩下...> 提示,直到我退出并显示以下错误消息:
Error: unrecognized token: "'c0, c1, ..., c697,"(省略号已展开)。
顺便说一句,创建一个最多包含 698 列的表是可行的。
看起来我实际上并没有达到 SQLite 的限制,那么为什么会发生这种情况呢? https://www.sqlite.org/limits.html
SQLITE_MAX_COLUMN 的默认设置是 2000。
SQL 语句文本中的最大字节数限制为 SQLITE_MAX_SQL_LENGTH,默认为 1000000。
(出于这个问题的目的,请忽略创建包含这么多列的表的智慧。)
【问题讨论】:
-
您在创建语句中有一个大字符串作为
()的唯一内容。为什么? -
对不起,我也试过不带引号。和'c1', 'c2', ...
-
但当时的错误肯定不一样了……
-
同样的错误。似乎 ( ) 只能接受一个比文档建议的长度小得多的字符串。
-
create table a ('verylongstring');是什么意思?
标签: sqlite