問題タブ [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.
javascript - ExpressでTINYINT(1)をBOOLEANに変換するには?
私のMySQLデータベースにはいくつかの列(infected
および)があり、 .absence
TINYINT(1)
私が簡単なことをするとき
私のバックエンドと
私のReactJSフロントエンドでは、次のようなことはできません:
それだけ
は働いている。
users.filter((u) => u.infected);
私にとってはより直感的に使用できるので、知りたいのですが、これをベストプラクティスでどのように処理できますか?
- 値を別の型に格納する必要がありますか?
- 別の方法で値を選択する必要がありますか?
- クエリを実行した後、値を 1 から TRUE に、0 から FALSE に変換する必要がありますか?
- get リクエストの後にフロントエンドで値を変換する必要がありますか?
私のフロントエンドはすでにあらゆる場所でブール値を期待しているため、これが最善の取引でない限り、4. の使用は避けようとしています (データベースを MySQL に切り替えました)。
mysql - MySQL 8.x: unsigned 属性がフィールド長をオーバーライドする
整数値を見る。Unsigned 属性を設定すると、フィールドの長さが上書きされるようです。
従来、MYSQL は BOOLEAN エイリアスを TINYINT(1) に変換します。inter-webs によると、MySQL 8.0.17 の時点で、整数データ型の表示幅の仕様は廃止されました。これには次の 2 つの例外があります。 TINYINT(1) ただし、TINYINT 値に UNSIGNED を設定すると、表示の長さが失われるというバグ (既知または未知の IDK) があります。
再現する手順:
BOOLEAN として使用することを意図したフィールドを持つテーブルを作成します。
CREATE TABLE
users
(id
int unsigned NOT NULL AUTO_INCREMENT ,user_name
varchar(50) NOT NULL,password
varchar(255) NOT NULL,is_active
tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (id
), ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;TINYINT(1) の表示長が実際に設定されていることを確認します。
テーブルを変更して is_active を UNSIGNED 値にします。
ALTER TABLE
users
CHANGE COLUMNis_active
is_active
TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' ;TINYINT に表示長がなくなっていることに注意してください。
リスト項目
期待される結果:
オプションが0または1になるため、「BOOLEAN」の正しいフィールド属性は符号なしであると主張します。負ではありません。したがって、TINYINT(1) の UNSIGNED 動作は符号付き動作と同じであり、フィールドの表示長が設定/保持されることを期待します。
質問:
他の誰かがこの動作に遭遇しましたか? 回避策に関するアイデアはありますか?現在、署名されたtinyintに固執しています...
mysql - MySQL での tinyint(M) のユーティリティは何ですか?
これはより学術的な問題です。MySQL データベースでは、tinyint(M) と tinyint(1) との違いがこのフォーラムで既に議論されていることは知っていますが、別のことを考えています。列 "REVIEWED TINYINT(5) を使用して、5 つの異なるブール値チェックボックスの値をフロントエンド フォームに格納できますか?私はそれを配列として扱う方向に沿って考えています。もしそうなら、それらはどのように参照されますか?何かREVIEWED(3) や REVIEWED[3] のように、それらの要素を参照できますか?すべての要素が 1 または 0 (または null) であるかどうかをチェックするための構文はありますか?