MySQLのtinyintのカラムにbool値を入れた場合
2024/02/25
他所のシステムに携わることがあり中身を色々見ているとMySQLでtinyint(1)のカラムがあり、PHP側からbool値で格納しているというケースがあった。
tinyintは数値が入るものと認識していたのでよく分からなかったんだけど、以下テストすると問題なく動くようだった。
テスト内容
//テーブル作成 CREATE TABLE `tinyint_test` ( `flg` tinyint(1) NOT NULL, `ymd` timestamp NOT NULL ) //テーブル構造 +-------+------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+-------------------+-----------------------------+ | flg | tinyint(1) | NO | | NULL | | | ymd | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +-------+------------+------+-----+-------------------+-----------------------------+ //インサートテスト INSERT INTO tinyint_test (flg) VALUES (true), (false), (1), (0), ('1'), ('0') //テスト結果 +-----+---------------------+ | flg | ymd | +-----+---------------------+ | 1 | 2015-12-15 22:57:09 | | 0 | 2015-12-15 22:57:09 | | 1 | 2015-12-15 22:57:09 | | 0 | 2015-12-15 22:57:09 | | 1 | 2015-12-15 22:57:09 | | 0 | 2015-12-15 22:57:09 | +-----+---------------------+
所感
trueは1に、falseは0になるというのは知らなかったので勉強になった。
関連記事
-
-
MySQLのview(ビュー)で仮想的なテーブルを作成する方法
MySQL関連のサイトを見ているとview(ビュー)が云々という記事を見かけた。 ...
-
-
MySQLのintのカラムで2147483647の値
MySQLでintのカラムに数値を入れると「2147483647」という値になっ ...
-
-
PHPからMySQLにシリアライズしたデータを格納
アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...
-
-
MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法
MySQLのバックアップを取る際にadminerとかから手動で対応するのではなく ...
-
-
MySQLで一連の処理を関数のように実行できるストアドプロシージャの設定と利用方法
MySQL関連のサイトを見ていた際にストアドプロシージャが云々というページがあっ ...