0
データベースの列を変更する小さなC#ツールを書いています。また、ユーザーの入力に応じて、特定の要素を列に乗算する必要があります。もちろん それはしかし、これは非常に間違ったユーザー入力の場合には、データ種別「TEXT」の列を列のデータ型を考慮していないSQL:列を掛けるときにデータ型を考慮してください。
UPDATE table SET column = column * factor
で動作しますエラーメッセージなしで乗算され、ゼロになります。
私は私のC#プログラムに列の型を取得し、それを更新する前にテストすることができますが、私の場合は、これは遅く、
SELECT * FROM sqlite_master
から取得直接sqliteの内の必要なフィードバックに方法はありますか?
SQLite *は[データ型 - 演算子](https://sqlite.org/datatype3.html#operators)の説明に従って、データ型を考慮します。 '数値ではなく、NULLでない算術演算子のオペランドは、0または0.0に変換されます。 –
あなたは' typeof() 'を使用して、数値以外の値を[この質問に示す] (https://stackoverflow.com/questions/32528759/how-to-check-if-a-value-is-a-number-in-sqlite)、例えば 'typeof(column)= 'integer'' –