Sam*_*yer 5 python sqlite parameters
这是一个小问题,但我有点难过.
sqlite对查询参数的数量有999的硬限制.这是在不属于公共头文件的头文件中设置的,运行时使您能够降低限制,但不能超过硬限制.Snow Leopard上的Python sqlite3模块(以及Lion,显然)允许更多的参数,但是,我无法弄清楚我的生活是如何可能的.
我考虑过Python包装器本身正在进行参数替换并将完整语句传递给sqlite3的可能性.但据我从源代码中可以看出,这种情况并没有发生.我还考虑过在Snow Leopard上实现sqlite3是根据略有不同的源代码编译的可能性.但事实证明,Apple发布了其开源修改(参见http://opensource.apple.com/source/SQLite/SQLite-74.11/),其源中的参数限制与默认值相同.
如果有人知道这可能会如何发生(并且我确定它正在发生;我已经创建了2000个参数的语句并且它们工作正常),请加入.为了它的价值,我遇到了这个奇怪的因为相同的由于参数限制,Windows上的代码中断.
当构建完整的 SQLite (C) 源时,预处理器定义
SQLITE_MAX_VARIABLE_NUMBER
Run Code Online (Sandbox Code Playgroud)
控制“语句变量”的最大数量,默认值为999。
更多信息可以在这里找到: https: //sqlite.org/limits.html
我假设 python 绑定使用具有更高编号的自定义构建的 SQLite。
(关于 999 个参数的强制性说明已经绰绰有余,并且您正在做一些奇怪的或不寻常的事情。考虑发布您的用例以及是否有关于更多合理参数数量的建议。)
归档时间: |
|
查看次数: |
388 次 |
最近记录: |