アプリケーションのバックエンドデータベースとしてsqliteを使用し、float値を'real'データ型列に格納していますが、文字列値も格納します。 フロントエンドでデータをチェックできますが、レコードを挿入する際にsqliteがデータをチェックしない理由を知りたいのですが。数値データ型または実数データ型のSqliteストア文字列値
0
A
答えて
1
SQLiteは動的な型指定を使用します。つまり、値のデータ型は、そのコンテナではなく値自体に関連付けられます。データ型の制約は適用されません。任意のタイプのデータを任意の列に格納できます。このhereとSQLite hereのデータ型の詳細については、こちらをご覧ください。
(我々が知る限りのSQLite以外のすべてのSQLデータベースエンジン、)sqlite.org
ほとんどのSQLデータベースエンジンからの抜粋は、静的な、剛性のタイピングを使用しています。静的な型指定では、値のデータ型はそのコンテナ(値が格納されている特定の列)によって決まります。
SQLiteはより一般的な動的型システムを使用します。 SQLiteでは、値のデータ型はコンテナではなく、値自体に関連付けられます。 SQLiteの動的型システムは、静的型付きデータベースで動作するSQL文がSQLiteで同じように動作するという意味で、他のデータベースエンジンのより一般的な静的型システムと下位互換性があります。しかし、SQLiteの動的な型指定は、従来の厳密に型指定されたデータベースでは不可能なことを行うことができます。あなたのケースでは
、 SQLiteはあなたがダブル/浮動値に、すなわち
asasassas
を渡された値を変換しようとしたが、それはそれを行うことができなかったので、
string
として値を挿入しています。 SQLiteのこの機能は、
type affinityと呼ばれています。
関連する問題
- 1. Oracle数値データ型
- 2. T-SQL列挙型の数値または文字列
- 3. 角度FormControlデータ型(数値)?
- 4. 数値データ型 - 記憶域
- 5. Jqueryデータ型数値ソート
- 6. MATLAB:数値データ型へのシンボリック・データ型からの変換
- 7. データ型の複数の値を返す
- 8. SSISデータフロータスク列データ型float、文字列値を無視
- 9. 値型変数のストア参照C#
- 10. Sybaseの数値データ型とPython
- 11. Postgresは列のデフォルトの実数値を取得します(データ型なし)
- 12. mysqlは数値型または文字型を優先しますか?
- 13. 数値型の文字列をintに変換した
- 14. 日付データ型に挿入する文字列値mysql
- 15. カスタムバイナリライタまたはカスタム数値データ型ですか?
- 16. 複数のデータ型列
- 17. Postgres:ブール値のデータ型を数値に書き直します
- 18. SAS Charと数値型の数値型の列
- 19. SQL数値(18,0)データ型に対応するC++データ型は何ですか?
- 20. :型の引数「数は」タイプ「文字列」
- 21. DateTimeOffset列にSSIS getdate - データ値がデータ型をオーバーフローしました
- 22. 代数データ型の型レベルセット
- 23. Javaの文字列データ型の変数名に動的な数値を追加する方法は?
- 24. が数値列挙型活字体で
- 25. SQLデータ型の数値と整数の違いは?
- 26. SQL Server:小数点以下の小数値のデータ型は?
- 27. 時間形式(文字列データ型)の整数
- 28. Jqueryのデータ型の文字列フィルタ
- 29. 実装データ型の値が無効
- 30. データベース:数値または英数字のストア値