這是一個小問題,但我很難過。Snow Leopard中SQLite max查詢參數有所不同?
sqlite對查詢參數的數量有999個限制。這是在頭文件中設置的,它不是公共頭文件的一部分,運行時允許您降低限制但不超過硬限制。 Snow Leopard上的Python sqlite3模塊(以及Lion顯然)允許使用比這更多的參數,但是,我無法弄清楚這是怎麼可能的。
我認爲Python包裝器本身正在進行參數替換並將完整語句傳遞給sqlite3的可能性;但據我從源代碼可以看出,這並沒有發生。我還考慮過在雪豹上實施sqlite3的可能性是由稍微不同的源代碼編譯的;但事實證明,Apple發佈了其開源修改(請參閱http://opensource.apple.com/source/SQLite/SQLite-74.11/),並且其源中的參數限制與默認設置相同。
如果有人對此有何想法(我確信它正在發生;我創建了具有2000個參數的語句,並且它們工作正常),請插入其中。對於它的價值,我遇到了這個問題由於參數限制,因爲相同的代碼在Windows上中斷,所以很奇怪。
您是否檢查過哪一個是Snow-Leopard的實際限制?如果你把一個荒謬的高數字記憶的行爲如何? – dsign 2012-04-26 11:49:56
好主意。完全是雪豹上的數字是500000。 500001休息。 – 2012-05-15 12:13:23