問題タブ [tinyint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL:「true」が 0 として保存されるのはなぜですか?
テーブルの列がブール値であるMySQLにDBがあります。
データは、次の関数を介して iOS Swift アプリから到着します。
ここで、Bool 変数は true/false から「true」/「false」に変換されるeligibilityDate
と思います。eligibilitySize
とにかく、「真」の値は MySQL で 0 として保存されているようです...なぜですか? 正しい方法はどれですか?
アップデート
考えられる解決策は次のとおりです。
let postParams = "action=save_report&id_fish=\(Reporting.fishId)&fish_name=\(Reporting.fishName)&detectedSize=\(Reporting.detectedSize)&eligibilitySize=\(Reporting.eligibilitySize ? 1 : 0)&eligibilityDate=\(Reporting.eligibilityDate ? 1 : 0)&origin=\(Reporting.origin)&production=\(Reporting.production)&townReport=\(Reporting.townReport)"
java - Hibernate - MySql、Tinyint カラム
Hibernate で tinyint(1) 列をマップしようとしています。要件として、列に値「2」を保存する必要がありますが、SQL タイプを変更できません。クラスで整数として宣言すると、休止状態の検証が失敗します。検証を機能させ、列 int または byte に値 2 を保存するにはどうすればよいですか?
これは私のコードです:
値 2 をフラグ列に保存する必要があります
mysql - 人間の身長の MySQL 変数 (tinyint または smallint)
私はSQLが初めてです!人の身長をテーブルに追加したい場合 (例: 1.86)、どの変数タイプを使用すればよいでしょうか?? Tinyint または Smallint?
mysql - ~550 万行 (TINYINT から SMALLINT) を持つ MySQL テーブルの列のデータ型を更新/変更するための最良かつ最も安全な方法は何ですか?
同様の質問が寄せられていますが、過去に使用して問題が発生しました
ALTER TABLE tablename MODIFY columnname SMALLINT
サーバーがクラッシュし、前回これを実行したときにテーブルを回復する必要がありました。テーブルにそれほど多くのデータがある場合、このコマンドを使用しても安全ですか? テーブルで並行して実行されている可能性のある他のクエリがある場合はどうなりますか? テーブルをコピーして、新しいテーブルでクエリを実行する必要がありますか? 列をコピーして、データを新しい列に移動する必要がありますか?
これを行う際のベストプラクティスまたは「最も安全な」プラクティスがあれば教えてください。
また、これは多くの要因に依存することはわかっていますが、550 万行以下の InnoDB テーブルでクエリにかかる時間 (概算) を知っている人はいますか? 問題の列は TINYINT で、データが含まれています。より大きな値を処理するために SMALLINT にアップグレードしたいと考えています。
ありがとう!