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ミドルウェアの仕組みの詳細な説明

推薦する

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...

Nginxの書き換えモジュールの詳細な説明

書き換えモジュールは ngx_http_rewrite_module モジュールです。その主な機能は...

MySQL メタデータで Hive テーブル作成ステートメントのコメント スクリプトを生成する方法

序文この記事は主にMySQLメタデータ生成Hiveテーブル作成ステートメントコメントスクリプトに関す...

バッチファイルを処理するLinuxの1行コマンドの詳細な説明

序文最良の方法は、あなたが思いつく最も速い方法ではないかもしれません。職場で一時的に使用するスクリプ...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...

Nodeはリクエスト追跡にasync_hooksモジュールを使用します

async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

JSONデータをHTMLで表示する方法

背景:場合によっては、json データをページに直接表示する必要があります (たとえば、インターフェ...

CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...

HTMLポップアップ透明レイヤーインスタンスのサイズを設定でき、比例することができます

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策

問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続で...

MySqlデータベースをバックアップするいくつかの方法

mysqldump ツールのバックアップデータベース全体をバックアップする $> mysqld...