我可以在 SQLite 中更改 GROUP_CONCAT 限制吗?

我可以在 SQLite 中更改 GROUP_CONCAT 限制吗?

我正在考虑从 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

小心保持安全数字,即远离实施限制

相关内容