データベースでcreate tableステートメントを実行する テーブル `sys_acl` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '認証ID', `code` varchar(20) NOT NULL DEFAULT '' COMMENT '認証コード', `name` varchar(20) NOT NULL DEFAULT '' COMMENT '認証名', `acl_module_id` int(11) NOT NULL DEFAULT '0' COMMENT '権限が配置されている認可モジュールID', `url` varchar(100) NOT NULL DEFAULT '' COMMENT '要求された URL、正規表現で入力できます', `type` int(11) NOT NULL DEFAULT '3' COMMENT 'タイプ、1: メニュー、2: ボタン、3: その他', `status` int(11) NOT NULL DEFAULT '1' COMMENT 'ステータス、1: 正常、0: 凍結', `seq` int(11) NOT NULL DEFAULT '0' COMMENT '現在のモジュールの権限の順序(小さいものから大きいものへ)', `remark` varchar(200) DEFAULT '' COMMENT '備考', `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '演算子', `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最終更新時間', `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最終更新者のIPアドレス', 主キー (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 デフォルト CHARSET=utf8; 「operate_time」のデフォルト値が無効であるというエラーを報告 情報を確認したところ、MySQL 5.6以降ではdatetime型がサポートされていることがわかったので、datetimeをtimestampに変更して無事解決しました。 datetime と timestamp の違いは特に大きくありません。主な違いは次のとおりです。1. 両者の保管方法は異なるTIMESTAMP の場合、クライアントによって挿入された時間を現在のタイムゾーンから UTC (協定世界時) に変換して保存します。クエリを実行すると、クライアントの現在のタイムゾーンに変換されて返されます。 DATETIME の場合は変更はなく、基本的にそのまま入力・出力されます。 2. 両者で保存できる時間範囲が異なるタイムスタンプが保存できる時間の範囲は、「1970-01-01 00:00:01.000000」から「2038-01-19 03:14:07.999999」です。 datetime が保存できる時間の範囲は、「1000-01-01 00:00:00.000000」から「9999-12-31 23:59:59.999999」です。 要約:TIMESTAMP と DATETIME の間には、保存範囲と保存方法を除いて大きな違いはありません。 もちろん、タイムゾーンをまたぐビジネスには TIMESTAMP の方が適しています。 参考リンク: MYSQL - データタイムとタイムスタンプの違い 補足: MySQL の「1067 - 'UPDATE_TIME' のデフォルト値が無効です」というエラー メッセージの解決方法 tmp_wrh_1 のフィールド UPDATE_TIME はタイムスタンプ型なので、デフォルト値は「0000-00-00 00:00:00」です。 今すぐ: `UPDATE_TIME` タイムスタンプ NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新時間'; このテーブルを操作する場合、 のように: alter table tmp_wrh_1 MODIFY列BUSINESS_TYPE varchar(5) comment 'hhr-service fee withdrawal'; -- 実行に失敗しました エラーメッセージが表示されます: 1067 - 'UPDATE_TIME' のデフォルト値が無効です 問題分析:タイムスタンプ型の値の範囲は1970-01-01 00:00:00から2037-12-31 23:59:59であるため、 したがって、UPDATE_TIME フィールドのデフォルト値を 1970-01-01 00:00:00 から 2037-12-31 23:59:59 までの値に変更する必要があります。 デフォルト値は 1970-01-01 10:00:00 以降にのみ正常に変更できることがわかりました。理由はわかりません。 問題は解決しました:テーブル tmp_wrh_1 を変更し、列 update_time を変更し、デフォルトを削除します。 テーブル tmp_wrh_1 を変更し、列 UPDATE_TIME をデフォルト '1970-01-01 10:00:00' に設定します。 alter table tmp_wrh_1 MODIFY列BUSINESS_TYPE varchar(5) comment 'hhr-service fee withdrawal'; --実行成功 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: DIV+CSS命名規則の詳細な説明はSEO最適化に役立ちます
>>: startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明
この記事では、MySQL で 2 つのテーブルを関連付ける結合テーブルにインデックスを作成する方法を...
目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...
Web プロジェクトの開発プロセスでは、CSS ファイルや JS ファイルを参照することがよくあり...
このデータベース クエリ ステートメントは、インターネット上の 50 個のデータベース クエリ練習問...
目次序文インライン要素の中央揃えテキストを垂直に中央揃え要素を水平方向に中央揃えにするブロックレベル...
1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点がありま...
CSS スタイル ルール構文スタイルは、CSS の基本単位です。各スタイル ルールは、セレクターと宣...
目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...
目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...
MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...
この記事では、参考までに、JSでスネークゲームを書くための具体的なコードを紹介します。具体的な内容は...
くさびコンピュータにインストールされている MySQL のバージョンが比較的古く、おそらくバージョン...
目次序文1. 概要2. 読み取りと書き込みの分離3. MySQL マスタースレーブレプリケーションの...
異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...
序文最近、偶然 MySQL の coalesce を発見しました。ちょうど時間があったので、MySQ...