@kPherox SQLite3のINTEGER型はそもそも符号付き8バイト整数なので BIGINTEGER
と書こうが書くまいが、整数のサイズは同じですね。
ただし、 例外的に INTEGER PRIMARY KEY
という書き方は特別扱いされていて、この場合は主キーが rowid
のエイリアスになり、 BIGINTEGER PRIMARY KEY
と書いた場合とは挙動が異なります。BIGINTEGER PRIMARY KEY
の方は単にアフィニティがINTEGER型の主キーカラムができるだけなので、INTEGER型以外の型のデータも突っ込めてしまいますが、rowid
のエイリアスになるINTEGER PRIMARY KEY
の場合は、INTEGER型のデータだけが入ります。
ここら辺のちょっと複雑な挙動については、
あたりに書いてあります。