我正在考虑从 MySQL 切换到 SQLite,但在 MySQL 服务器中我设置了变量group_concat_max_len = 1000000;
在将所有内容切换到 SQLite 引擎之前,我想知道是否也存在限制,以及是否可以更改它,如果可以,我可以使用此查询更改限制吗?
set global group_concat_max_len = 1000000;
答案1
我没有发现这样的具体限制SQLite 文档。
但是,group_concat 的结果肯定有一个最大长度,因为它被定义为“任何字符串或 BLOB 或表行的最大大小(以字节为单位)”。。要查看和更改它,请连接 SQLite 数据库并输入:
sqlite> -- Diplay all limits
sqlite> .limit
length 1000000000
sql_length 1000000000
column 2000
expr_depth 1000
compound_select 500
vdbe_op 250000000
function_arg 127
attached 10
like_pattern_length 50000
variable_number 32766
trigger_depth 1000
worker_threads 0
sqlite> -- Change length limit
sqlite> .limit length 50000
length 50000
sqlite> -- Display the new length limit
sqlite> .limit length
length 50000
小心保持安全数字,即远离实施限制。