sqlite 現在日付をDEFAULT値として設定する

sqlite 現在日付をDEFAULT値として設定する

sqliteで、現在日付をDEFAULT値として設定する手順を記述してます。「CREATE TABLE」時に「DEFAULT」に「CURRENT_TIMESTAMP」を指定することで可能です。「DB Browser for SQLite」から設定する手順も記述してます。sqliteは、3.37.1を使用してます。

環境

  • OS windows11 home
  • sqlite 3.37.1
  • DB Browser for SQLite 3.12.2

手順

現在日付をDEFAULT値として設定する「DEFAULT」に「CURRENT_TIMESTAMP」を指定します。

CREATE TABLE テーブル名(カラム名 DEFAULT CURRENT_TIMESTAMP, ...);

実際に、以下の「hoge」というテーブルのカラム「created_date」にデフォルト値「CURRENT_TIMESTAMP」を設定してみます。

CREATE TABLE hoge(id integer, name text, created_date default CURRENT_TIMESTAMP);

実行結果

データ挿入

現在日付が入るか、データを実際に挿入してみます。

insert into hoge(id,name) values(1, 'taro');
insert into hoge(id,name) values(2,'jiro');

実行結果をみると現在日付が挿入されていることが確認できます。

日時のみ日付のみを指定する場合は、「CURRENT_TIME」「CURRENT_DATE」を使用します。

  • CURRENT_TIME : HH:MM:SS
  • CURRENT_DATE : YYYY-MM-DD
  • CURRENT_TIMESTAMP : YYYY-MM-DD HH:MM:SS

DB Browser for SQLite

GUIツール「DB Browser for SQLite」からだと、テーブル作成時に「デフォルト」に「CURRENT_TIMESTAMP」を入力すると、デフォルト値が設定できます。

「テーブルを作成」をクリックします。

対象のカラムの「デフォルト」に値に「CURRENT_TIMESTAMP」入れると設定できます。