現在の時刻をデフォルト値としてMySQLテーブルに列を追加する構文を探しています。
重要な編集:MySQL 5.6.5以降、DATETIME
フィールドでこれを実現できるようになりました。 、以下の 他の投稿 を見てください...
MySQL 5.6.5以降、DATETIME
フィールドでこれを実現できるようになりました。
しかし、TIMESTAMP
でそれを行うことができます:
create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP)
default
句を指定できます。
ALTER TABLE mytable ADD COLUMN (mytimestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
非常に多くの人が解決策を提供しましたが、これは単に情報を追加するためのものです-
行挿入時に現在のタイムスタンプを挿入したいだけの場合-
ALTER TABLE mytable ADD mytimestampcol TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
この行を更新する場合にこの列を更新する必要がある場合は、これを使用します-
ALTER TABLE mytable ADD mytimestampcol TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
これらのSQLはあなたに役立つと思います。
create table test (column_name varchar(32), time_column TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
mysql> insert into test (column_name) values ("demo");
Query OK, 1 row affected (0.00 sec)
mysql> select column_name as name, time_column as ts from test;
+------+---------------------+
| name | ts |
+------+---------------------+
| demo | 2014-07-31 15:42:52 |
+------+---------------------+
セットの1行(0.00秒)
ありがとうございました。
create table test (col1 varchar(10), lastaccessdate TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
これにより、時刻が小数秒で更新され、レコードが最後に挿入または更新されたときにも更新されます。