正解はSYSDATE()です。
INSERT INTO servers (
server_name, online_status, exchange, disk_space,
network_shares, date_time
)
VALUES (
'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);
この動作を変更NOW()
して、sysdate_is_nowコマンドライン引数をにSYSDATE()
設定するのと同じように動作させることができます。True
なお、NOW()
(持つCURRENT_TIMESTAMP()
別名として)とは異なるSYSDATE()
で微妙方法。
SYSDATE()は、それが実行された時刻を返します。これは、ステートメントの実行が開始された時刻を示す一定の時間を返すNOW()の動作とは異なります。(ストアドファンクションまたはトリガー内で、NOW()は、関数またはトリガーステートメントが実行を開始した時刻を返します。)
Erandiで示されてDEFAULT
いるように、新しい行を挿入すると列にタイムスタンプが自動的に入力されるように、句を使用してテーブルを作成するのが最適です。
date_time datetime NOT NULL DEFAULT SYSDATE()
エポック形式の現在の日付が必要な場合は、UNIX_TIMESTAMP()を使用できます。例えば:
select now(3), sysdate(3), unix_timestamp();
降伏する
+-------------------------+-------------------------+------------------+
| now(3) | sysdate(3) | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 | 1543282808 |
+-------------------------+-------------------------+------------------+
関連: