MySQL で datetime 型のデフォルト値を設定する方法

MySQL で datetime 型のデフォルト値を設定する方法

Navicat クライアントを通じてデフォルトの日時値を変更する際に問題が発生しました。

データベース テーブル フィールド タイプ datetime は、最初はデフォルトで NULL に設定されています。インターフェイスを通じてデフォルト値が現在の時刻に設定されると、「1067 - 'CREATE_TM' のデフォルト値が無効です」というプロンプトが表示されます。ただし、この問題はテーブルの作成時には発生しません。たとえば、テーブル作成ステートメントは次のようになります。

テーブル `app_info1` を作成します ( 
 `id` bigint(21) unsigned NOT NULL AUTO_INCREMENT COMMENT '主キーID', 
 `app_id` varchar(30) DEFAULT NULL COMMENT 'アプリケーションコード', 
 `app_name` varchar(30) DEFAULT NULL COMMENT 'アプリケーション名', 
 `package_name` varchar(100) DEFAULT NULL COMMENT 'パッケージ名', 
 `version` int(11) DEFAULT NULL COMMENT 'バージョン番号', 
 `version_name` varchar(20) DEFAULT NULL COMMENT 'バージョン名', 
 `icon_url` varchar(512) デフォルト NULL コメント 'アイコンアドレス', 
 `download_url` varchar(512) デフォルト NULL コメント 'ダウンロード URL', 
 `summary` varchar(512) デフォルト NULL コメント '概要', 
 `desc` varchar(512) デフォルト NULL コメント '説明', 
 `app_status` int(4) デフォルト '0' コメント 'ステータス 0: 利用可能、1: 削除済み', 
 `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻', 
 `create_user` varchar(30) デフォルト NULL コメント 'creator', 
 `modify_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '変更時刻', 
 `modify_user` varchar(30) デフォルト NULL コメント 'Modifier', 
 主キー (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 デフォルト CHARSET=utf8;

次に、スクリプトを通じてフィールドを直接変更してみましたが、これも次のように問題ありませんでした。

テーブル ts_role を変更する 
MODIFY列create_tm datetimeデフォルトCURRENT_TIMESTAMPコメント'作成時刻'

もちろん、私がインストールした MySQL は 5.6 以上であり、他のバージョンは試していません。

MySQL の datetime 型のデフォルト値を設定する上記の方法は、エディターが皆さんと共有する内容のすべてです。 皆さんの参考になれば幸いです。 また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL における Datetime と Timestamp の使用の概要
  • MySQL における datetime と timestamp の違いと選択
  • MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明
  • MySQL における datetime と timestamp の違いと使い方
  • MySQL データベースで datetime 型を作成する方法

<<:  nginx設定ファイルの場所を見つける方法の詳細な説明

>>:  Node.jsミドルウェアの仕組みの詳細な説明

推薦する

Mariadb リモート ログイン構成と問題解決

序文:インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモ...

データベースSQL文の最適化

最適化する理由:実際のプロジェクトが開始され、データベースが一定期間稼働した後、初期のデータベース設...

Vue でスクロールバーのスタイルを変更する方法

目次まず、スクロール バーのスタイルを変更するには、疑似要素-webkit-scrollbarを使用...

MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル (CentOS7)

LinuxにMySQL 5.7.18をインストールする方法1. MySQLをダウンロードします。公...

CentOS での MySQL ログイン 1045 問題を解決する

アプリケーション全体を CentOS にデプロイする必要があるため、当然ながらデータベース操作は不可...

Windows Server win2003、win2008R2、win2012、win2016、win2019 システム バージョン間の違い

最近、Microsoft は 2019 サーバー システムをリリースしました。一般的に、Micros...

MySQLの半同期の詳細な説明

目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...

MySQL でテーブル データを削除した後もディスク領域がまだ占有されているのはなぜですか?

目次1.MySQLデータ構造2. テーブルファイルのサイズは変更されておらず、MySQLの設計に関連...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...

スクロールバーがスペースを占有することで発生するバグを修正しました

背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...

MySQL 5.7.23 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事はMySQL 5.7.23 winx64のインストールチュートリアルを記録します。具体的な内...

Linux でハードディスクのサイズを確認し、ハードディスクをマウントする方法

Linux には、マウントされたハードディスクとマウントされていないハードディスクの 2 種類のハー...

複数の例で HTML フォームを使用する方法

参考までに、HTMLフォームの使い方を9つの簡単な例で分析します。具体的な内容は次のとおりです。 1...

Vue-routerルーティングの使い方

目次1. 説明2. インストール3. テスト1. 説明Vue Router は、Vue.js の公式...

vue3を使用して人間と猫のコミュニケーションアプレットを実装する

目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...