[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
2022-03-23 04:15:30
質問
MySQL の Datetime カラムにデフォルト値を設定するにはどうすればよいですか?
SQL Serverでは
getdate()
. MySQLの場合はどうなんでしょうか?私はMySQL 5.xを使用しています。
解決方法は?
重要な編集です。 から、DATETIMEフィールドで実現できるようになりました。 MySQL 5.6.5 をご覧ください。 他の投稿 以下のとおりです。
以前のバージョンでは、DATETIMEでそれができない...。
しかし、TIMESTAMPではそれが可能です。
mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
+-------+-------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+-------------------+-------+
| str | varchar(32) | YES | | NULL | |
| ts | timestamp | NO | | CURRENT_TIMESTAMP | |
+-------+-------------+------+-----+-------------------+-------+
2 rows in set (0.00 sec)
mysql> insert into test (str) values ("demo");
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+------+---------------------+
| str | ts |
+------+---------------------+
| demo | 2008-10-03 22:59:52 |
+------+---------------------+
1 row in set (0.00 sec)
mysql>
CAVEAT CURRENT_TIMESTAMP ONをデフォルトとしてカラムを定義した場合、このカラムには常に値を指定する必要があり、さもなければ更新時に値は自動的に"now()"にリセットされます。つまり、値を変更したくない場合は、UPDATE文に"[列名] = [列名]"(または他の値)を含めないと、値が" now()" になってしまうということです。変な話ですが、本当です。私は5.5.56-MariaDBを使用しています。
関連
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み】MySQLのDESCRIBE [table]に相当するSQLiteはあるか?]
-
[解決済み] ONLY_FULL_GROUP_BYの無効化
-
[解決済み] WHEREで集計関数は使用できません "というエラーを回避する方法
-
[解決済み] MongoDBのようにMySQLにもTTLがあるのでしょうか?
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] ずっとUTF-8
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MySQLユーザーDBにパスワードカラムがない - OSXへのMySQLインストール
-
[解決済み】MySQLの「ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションを再起動してみてください」を回避する方法
-
[解決済み】mysqld_safe UNIX ソケットファイル用のディレクトリ '/var/run/mysqld' が存在しません。
-
[解決済み] MySQLが重複したレコードを削除し、最新のレコードを保持する
-
[解決済み] whereステートメントによるmysqlの一括更新
-
[解決済み] mysqlのテーブルからユニークキーを削除する方法
-
[解決済み] 日付の挿入時にエラーが発生しました - 日付の値が正しくありません。
-
[解決済み] dpkg: error processing package mysql-server (dependency problems)?
-
[解決済み] タイムスタンプフィールド 'create_date' のデフォルト値が無効です。
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?