【MySQL】DATETIME型のデフォルト値としてNOW()(現在日時)を設定する方法
MySQLでDATETIME型のデフォルト値として現在日時を設定する方法
MySQLでは、動的デフォルト(dynamic default)を活用することで、NOW()関数が返す現在の日時を列のデフォルト値として設定できます。DATETIME型の列に対しては「DEFAULT CURRENT_TIMESTAMP」を指定するのが一般的ですが、MySQL 8.0.13以降であれば「DEFAULT (NOW())」のように式形式でデフォルト値を定義することも可能です。
以下では、まずDATETIME型の列を持つテーブルを作成し、続いて「MyTime」列のデフォルト値として現在日時が自動的に登録される流れを確認していきます。
テーブルの作成
まずは、DATETIME型の列「MyTime」にデフォルト値を設定したテーブルを作成します。
mysql> create table DefaultDateTimeDemo -> ( -> MyTime datetime default CURRENT_TIMESTAMP -> ); Query OK, 0 rows affected (0.59 sec)
値を指定せずにレコードを挿入する
テーブル作成後、INSERT文を実行する際にあえて値を指定しません。これは、動的デフォルトによって現在の日時が自動的に格納される様子を確認するためです。
レコード挿入用のクエリは次のとおりです。
mysql> insert into DefaultDateTimeDemo values(); Query OK, 1 row affected (0.13 sec)
デフォルト値が反映されているか確認する
それでは、デフォルト値として現在の日時が正しく登録されたかどうかをチェックしてみましょう。レコードを表示するクエリは以下のとおりです。
mysql> select *from DefaultDateTimeDemo;
実行結果は次のようになります。INSERT時に値を渡していないにもかかわらず、現在の日付と時刻が格納されていることがわかります。
+---------------------+ | MyTime | +---------------------+ | 2018-11-09 11:58:47 | +---------------------+ 1 row in set (0.00 sec)
NOW()関数との結果を比較して検証する
続いて、得られた結果が正しいかどうかをNOW()関数を使って検証します。確認用のクエリは以下のとおりです。
mysql> select now();
出力結果は次のとおりです。
+---------------------+ | now() | +---------------------+ | 2018-11-09 11:58:40 | +---------------------+ 1 row in set (0.00 sec)
上記のサンプル出力を見比べると、どちらもほぼ同じ日時が返されていることが確認できます。このように、DATETIME型の列にあらかじめデフォルト値を設定しておけば、INSERT時に明示的に値を渡さなくても現在の日時が自動的に記録されます。ログの記録時刻やレコードの作成日時を管理するカラムなどにおいて、非常に便利な機能ですので、ぜひ活用してみてください。
-
JavaScript関数のデフォルトパラメータの設定方法をわかりやすく解説
JavaScriptでは、関数のパラメータにデフォルト値(初期値)を簡単に設定できます。これにより、引数が渡されなかった場合やundefinedが渡された場合に、あらかじめ指定しておいた値が自動的に使用されます。デフォルトパラメータの基本デフォルトパラメータは、関数を定義する際にパラメータ名の後に「=(イコール)」を使ってデフォルト値を記述するだけで設定できます。書式は以下のとおりです。function 関数名(パラメータ1, パラメータ2 = デフォルト値) { // 処理}この機能を活用すると、引数の省略時の動作を明確に定義でき、コードの可読性と安全性が向上します。サ
-
【HTML入門】select要素のドロップダウンリストにデフォルト値(初期選択)を設定する方法
HTMLでは、<select>要素を使うことで、フォーム内に簡単なドロップダウンリスト(セレクトボックス)を作成し、ユーザーに入力してもらうことができます。セレクトボックスは「プルダウンメニュー」とも呼ばれ、複数の選択肢を一覧形式で表示できる便利な部品です。さらに、このドロップダウンリストにはデフォルト値(初期状態で選択されている項目)を設定することも可能です。方法はとてもシンプルで、あらかじめ選択しておきたい項目の<option>タグに selected属性 を追加するだけです。selected属性の基本的な使い方以下のように、初期表示したい選択肢にselectedを