Boolean型になるとは...この記事に「結論が間違っています」コメントをいただきました。MySQLの機能ではなく、CakePHPの機能によって起こっていることを確認しました。Boolean型として処理する仕様となっているため、その定義に従って、CakePHPでは「0」「1」しか持てないように処理している、ということになるでしょう。-128~127まで保存されることを確認しました。「0」の場合は「False」、「0」以外の場合は「True」として扱うものと定義してあるようです。CakePHPで処理をするとちょっと違う結果になることを改めて確認しました。この状態でデータを登録すると、当たり前ですがデータは問題なく「-128」~「127」まで問題なく登録できました。その次に、phpMyAdminなどで、test1の項目を「tinyint(1)」に変えてみたところ、大きな変化が現れました。nullに変わってしまいました。入力画面では、通常のテキスト入力項目だったものが、チェックボックスの項目に変わってしまうという自動処理が行われていました。Boolean型としてしか使えませんので注意が必要です。Boolean型になるとは...」で陥っていたトラブルの原因でした。Boolean型としての処理として実装しているということが今回の実験で判明しました。「tinyint(1)」以外の項目をチェックさらに実験をしてみたところ、「tinyint(1)」以外の「「tinyint(2)」「tinyint(3)」では「tinyint(1)」のような変化はなく、「smallint(1)」「int(1)」も「tinyint(1)」のような変化はありませんでした。「bigint」はさらなる衝撃な動作をしました。なんと、「bigint(1)」のように設定すると、設定した数値の桁数分だけしか入力できなくなるのです。「bigint(1)」ならば、1桁しか入力できませんので「0~9」まで。「bigint(2)」ならば、2桁しか入力できませんので「-9~99」まで。設定した数値の値に従って、入力エリアに自動的に「maxlength」が設定されるようです。maxlengthが設定してあるのを確認しました。)ですが、これはあくまでも入力画面における処理であり、「tinyint(1)」の処理とは違うようで、下記の様に入力タイプを「text」と明示して設定すると、「maxlength」の制限はなくなり、通常通り「bigint(20)」と変わらない動きになりました。入力画面上のみの処理のため、あらかじめ入力されていたデータは「tinyint(1)」の様に加工されることなくそのまま表示されていました。(入力画面でも入力されている値がそのまま表示されていました。4つの型での検証ですが、その他の項目でも同じような動きをする項目があるかもしれません。そんなことをご存知の方がいらっしゃいましたら、情報提供をしていただけますと幸いです。ちなみに、当然ですが「tinyint(0)」は設定することができません。tinyint()を始め、MySQLの数値型についての詳細は、下記に解説記事を書いていますので、あわせて参照してください。MySQLGoogleAdwordsGoogleAdwords最後までお読みいただきましてありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト下記の空欄を埋めてください。date*日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)※入力いただいたコメントは管理者の承認後に掲載されます。3を導入する手順を解説した記事。3部作のその3で記事を更新する際のファイルの取り回しなどについてを解説。MySQLのタイムゾーン(mysql_tzinfo_to_sql)の設定方法・XAMPP環境の解説もMySQLのタイムゾーンテーブル(mysql.time_zone)の中身を確認し、からの場合は追加する方法を解説。LinuxとWindows・XAMPPとで異なる対応方法についてそれぞれ解説。カスタムバリデーションを簡易的に実装する方法CakePHP3の独自のバリデーションをテーブルクラス内に簡単に記述する方法を解説。他のテーブルクラスでは使えないが、記述する量は少なく実装できるため、他で使わない処理を書くのには便利。3を導入する手順を解説した記事。3部作のその1で基本的な導入方法の解説で読みながら簡単に導入が可能。入力された値によってバリデーション(入力チェック)の内容を切り替える。その処理をCakePHPで実装する方法を解説。unset関数を使ってバリデーションを削除する、という方法を採る。queryを使って日付の範囲検索の方法です。APIからレポートデータを取得する処理の解説。PHPのサンプルソースをCakePHP3で動くように改造。加えて、ディメンションやメトリックスを条件に設定する方法なども。CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違いCakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。MySQLの数値型(int、tinyint、bigint、decimal、number、float)の解説MySQLの数値型についてテーブル設計のたびに調べているような気がしたので、調べてまとめてみた。CakePHP3で値を入力直後にバリデーションする方法解説CakePHP3でバリデーションの実行を保存する時から入力情報を受け取るときに変更する処理の解説。CakePHP3ではnewEntity()の処理でバリデートするため1行追加で対応可能。小学校でプログラミングの授業が始まる。プログラムを組むことを覚えることが本質ではなく理論的な手順の組み立てのトレーニングをする授業という理解が必要だと思う。Parserを使ってスクレイピングをする方法を解説。インストール方法、読み込み方法。具体的なスクレイピングを実行するサンプルソースも。Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。マニュアルにはない注意点なども解説。2020.01.27PHPでスクレイピング。スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。Parser」をオススメする。2020.01.26PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。add_shortcode関数を使ったショートコードという機能を利用します。不正なコピーコンテンツからの直リンクを拒否する.htaccessの設定方法。拒否するサイトを指定、許可するサイトを指定する方法、単純な拒否と画像の差し替えを解説。口コミサイトを作るために必要な評価点、レビューを投稿できるプラグインを探して評価。10プラグインをチェックし、8プラグインは詳細解説付き。2014.07.17BackWPupでバックアップ・リストア(復元)の具体的手順BackWPupその9。バックアップファイルからのリストア(復元)の手順です。109キーボード)は日本人サイズのキーボード。ショートカットも押しやすく女性や子供にも優しいサイズ。Web開発・運用に役立つ記事を中心に紹介しています。