MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルでレコードの作成時刻を保存する方法

MySQLでレコードの作成時刻(登録日時)を自動的に保存したい場合は、DEFAULT CURRENT_TIMESTAMPを使用します。ただし、この設定は挿入(INSERT)時のみ機能する点に注意してください。レコードを更新しても値は変わりません。

テーブルの作成

まず、TIMESTAMP型のカラムにデフォルト値としてCURRENT_TIMESTAMPを設定したテーブルを作成しましょう。

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
Query OK, 0 rows affected (0.31 sec)

これで、Arrivaltimeカラムに値を明示的に指定しなかった場合、そのレコードが挿入された瞬間の日時が自動的に記録されるようになります。

レコードの挿入

insertコマンドを使って、テーブルにいくつかのレコードを挿入します。

mysql> insert into DemoTable(Arrivaltime) values('2018-01-31 10:34:56');
Query OK, 1 row affected (0.06 sec)

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.06 sec)

mysql> insert into DemoTable(Arrivaltime) values('2019-01-31 11:10:12');
Query OK, 1 row affected (0.04 sec)

2番目のinsert文では値を一切指定していないため、Arrivaltimeには現在の日時が自動的に設定されます。

レコードの確認

selectステートメントを使って、テーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable;

次のような出力が得られます。

+----+---------------------+
| Id | Arrivaltime         |
+----+---------------------+
| 1  | 2018-01-31 10:34:56 |
| 2  | 2019-05-02 12:50:24 |
| 3  | 2019-01-31 11:10:12 |
+----+---------------------+
3 rows in set (0.00 sec)

Id 2のレコードでは、Arrivaltimeに値を指定しなかったため、挿入時の現在日時(2019-05-02 12:50:24)が自動的に保存されていることがわかります。

補足:更新時刻も記録したい場合

レコードが更新されるたびにタイムスタンプも更新したい場合は、ON UPDATE CURRENT_TIMESTAMPを組み合わせて使用します。

Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

この設定により、作成時刻と最終更新時刻の両方を効率的に管理できます。

  1. MySQLテーブルを一括更新する方法|ADDTIME関数で複数行の時刻データをまとめて変更

    MySQLでは、UPDATE文と関数を組み合わせることで、テーブル内の複数のレコードを一度に一括更新(バッチ更新)できます。本記事では、時刻型(TIME型)のカラムに対してADDTIME関数を使い、すべての行の時刻をまとめて加算・更新する手順を、実際のSQL文と実行結果付きでわかりやすく解説します。1. サンプルテーブルを作成するまず、時刻データを格納するためのテーブル「DemoTable」を作成します。mysql> create table DemoTable    -> (    -> Bre

  2. MySQLでテーブルが存在するかどうかを確認する方法【INFORMATION_SCHEMA.TABLES活用】

    MySQLでテーブルの存在を確認するにはMySQLにおいて、特定のテーブルがデータベース内に存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLES を利用するのが一般的な方法です。このシステムビューには、サーバー上のすべてのデータベースとテーブルに関するメタデータが格納されており、これを参照することで目的のテーブルが存在するかを簡単に調べられます。基本構文テーブルの存在確認は、以下のようなSELECT文で行います。select table_name from information_schema.tables where table_schema=database