私はSQLite C APIのラッパーを作っています。そして、私は整数型としてROWIDを返したい。エラー・ケースをマークするには、ROWIDの値が無効である必要があります。 0x13の無効な値がありますか?または、符号付き64ビット整数のすべての値がROWIDに有効ですか? (そうであれば、マーキングエラーの場合を実装する別の方法を選択する必要があるため)SQLiteのROWIDの有効範囲は?
6
A
答えて
13
行IDは64ビット符号付き整数なので、最大値は0x7FFFFFFFFFFFFFFFLLです。ただし、負またはゼロのローIDが明示的に入力されていない限り、自動生成ローIDは常にゼロより大きくなります。行IDが常に自動的に生成されることが確実な場合は、エラーステータスの戻り値として0または-1が安全な値になります。
また、sqlite3_last_insert_rowid
APIコールでは、テーブルに何も挿入されていないとゼロが返されるため、事実上の「無効な」行IDはゼロになります。
+0
おかげで挿入することができます。私は他の何かの仕組みに行きます。 :) – Eonil
関連する問題
- 1. ini_set()の有効範囲は?
- 2. richfacesメッセージの有効範囲
- 3. IdentityServerの有効範囲
- 4. C#プラグマディレクティブの有効範囲
- 5. SQLiteの範囲
- 6. 有効なnumpy値の範囲
- 7. AndroidのSQLiteの範囲クエリ
- 8. Boost :: interprocess managed_shared_memory pointer有効範囲
- 9. NSNumberが有効範囲外です
- 10. 公開Angular2 +クラスのプロパティの有効範囲は何ですか?
- 11. 名前のない値の有効範囲は何ですか?
- 12. SQLiteの最終挿入ROWIDのは
- 13. djangoのクラス変数とインスタンス変数の有効期間と有効範囲
- 14. SET IDENTITY_INSERT xyz ONの有効範囲は何ですか?
- 15. HTTPセッションの有効範囲は何ですか?
- 16. glVertexAttribPointerとglEnableVertexAttribArrayの有効範囲は何ですか?
- 17. Java Hibernateセッションとその有効範囲は?
- 18. LoaderManagerの有効範囲は何ですか?
- 19. #defineされた変数の有効範囲は何ですか?
- 20. Python関数の有効範囲は何ですか?
- 21. 子ノードの有効範囲はありますか?
- 22. PostgreSQL Temp Tableの有効範囲は何ですか?
- 23. MDX現在のコンテキスト日付の有効範囲の数値
- 24. カスタムバリデータの有効範囲の変更に対するトリガ検証
- 25. チェックボックスの有効範囲の最大値が機能しない
- 26. ブロックハンドラ内の変数の可視性(有効範囲)
- 27. ColdFusionでのコンポーネント有効範囲変数の定義
- 28. Oracle - サブプログラムまたはカーソルc_tabが有効範囲外です。
- 29. 特定の時間範囲でキャメルルートを有効にします。
- 30. 海軍のバイオリンプロットが有効範囲外にある
ここでROWIDについての仕様です:明示的にゼロと負の値について言及するためhttp://www.sqlite.org/autoinc.html – Eonil