Lösen Sie das Problem, dass MySQL einen ungültigen Standardwert für den Fehler „operate_time“ meldet.

Lösen Sie das Problem, dass MySQL einen ungültigen Standardwert für den Fehler „operate_time“ meldet.

Führen Sie die Anweisung „create table“ in der Datenbank aus.

TABELLE `sys_acl` erstellen (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Autorisierungs-ID',
 `code` varchar(20) NOT NULL DEFAULT '' COMMENT 'Autorisierungscode',
 `name` varchar(20) NOT NULL DEFAULT '' COMMENT 'Autorisierungsname',
 `acl_module_id` int(11) NOT NULL DEFAULT '0' COMMENT 'Autorisierungsmodul-ID, in der sich die Berechtigung befindet',
 `url` varchar(100) NOT NULL DEFAULT '' COMMENT 'Angeforderte URL, kann mit regulärem Ausdruck gefüllt werden',
 `Typ` int(11) NICHT NULL STANDARD '3' KOMMENTAR 'Typ, 1: Menü, 2: Schaltfläche, 3: Sonstiges',
 `status` int(11) NOT NULL DEFAULT '1' COMMENT 'Status, 1: normal, 0: eingefroren',
 `seq` int(11) NOT NULL DEFAULT '0' COMMENT 'Die Reihenfolge der Berechtigungen im aktuellen Modul, von klein nach groß',
 `Bemerkung` varchar(200) DEFAULT '' COMMENT 'Bemerkungen',
 `Operator` varchar(20) NICHT NULL STANDARD '' KOMMENTAR 'Operator',
 `operate_time` datetime NICHT NULL STANDARD CURRENT_TIMESTAMP KOMMENTAR 'Letzte Aktualisierungszeit',
 `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT 'Die IP-Adresse des letzten Updaters',
 PRIMÄRSCHLÜSSEL (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

Melden Sie den Fehler „Ungültiger Standardwert für ‚operate_time‘“.

Nachdem ich die Informationen überprüft hatte, stellte ich fest, dass MySQL 5.6 und höher den Datums-/Uhrzeittyp unterstützten. Daher änderte ich Datum/Uhrzeit in Zeitstempel und löste das Problem erfolgreich.

Der Unterschied zwischen Datum und Uhrzeit und Zeitstempel ist nicht besonders groß. Die Hauptunterschiede sind wie folgt:

1. Die Speichermethoden der beiden sind unterschiedlich

Für TIMESTAMP konvertiert es die vom Client eingegebene Zeit zur Speicherung von der aktuellen Zeitzone in UTC (Koordinierte Weltzeit). Bei der Abfrage wird diese in die aktuelle Zeitzone des Clients umgerechnet und zurückgegeben. Für DATETIME werden keine Änderungen vorgenommen und die Ein- und Ausgabe erfolgt grundsätzlich unverändert.

2. Der von beiden gespeicherte Zeitbereich ist unterschiedlich

Der Zeitbereich, den der Zeitstempel speichern kann, ist: „1970-01-01 00:00:01.000000“ bis „2038-01-19 03:14:07.999999“.

Der Zeitbereich, den datetime speichern kann, ist: „1000-01-01 00:00:00.000000“ bis „9999-12-31 23:59:59.999999“.

Zusammenfassen:

Abgesehen vom Speicherbereich und der Speichermethode gibt es zwischen TIMESTAMP und DATETIME keinen großen Unterschied.

Natürlich ist TIMESTAMP für Geschäfte über Zeitzonen hinweg besser geeignet.

Referenzlink: MYSQL-Unterschied zwischen Datenzeit und Zeitstempel

Ergänzung: Lösung für die Fehlermeldung „1067 - Ungültiger Standardwert für 'UPDATE_TIME'“ in MySQL

Da das Feld UPDATE_TIME von tmp_wrh_1 vom Typ Zeitstempel ist, lautet der Standardwert: „0000-00-00 00:00:00“

Im Augenblick:

`UPDATE_TIME` Zeitstempel NICHT NULL STANDARD '0000-00-00 00:00:00' KOMMENTAR 'Aktualisierungszeit';

Bei der Arbeit an diesem Tisch

wie:

alter table tmp_wrh_1 MODIFY column BUSINESS_TYPE varchar(5) comment 'hhr-service fee withdrawal'; -- Ausführung fehlgeschlagen

Es erscheint eine Fehlermeldung: 1067 - Ungültiger Standardwert für 'UPDATE_TIME'

Problemanalyse:

Da der Wertebereich des Zeitstempeltyps ist: 1970-01-01 00:00:00 bis 2037-12-31 23:59:59,

Daher muss der Standardwert des Feldes UPDATE_TIME auf einen Wert zwischen 1970-01-01 00:00:00 und 2037-12-31 23:59:59 geändert werden.

Es wurde festgestellt, dass der Standardwert erst nach dem 01.01.1970, 10:00:00 Uhr erfolgreich geändert werden kann. Ich weiß nicht, warum!

Problem gelöst:

Tabelle tmp_wrh_1 ändern, Spalte update_time ändern, Standard löschen;
Tabelle tmp_wrh_1 ändern, Spalte UPDATE_TIME ändern, Standard auf „1970-01-01 10:00:00“ setzen;
alter table tmp_wrh_1 MODIFY column BUSINESS_TYPE varchar(5) comment 'hhr-service fee withdrawal'; --Ausführung erfolgreich

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Analyse und Lösung häufiger MySQL-Fehler
  • Lösung für MySQL-Systemfehler 1067
  • So beheben Sie verschiedene Fehler bei der Verwendung von JDBC zum Herstellen einer Verbindung zu Mysql 8.0.11

<<:  Eine detaillierte Erklärung der DIV+CSS-Benennungsregeln kann zur SEO-Optimierung beitragen

>>:  Detaillierte Erklärung der Lösung für den Absturz von Tomcat beim Doppelklicken auf startup.bat

Artikel empfehlen

Beispielcode für CSS3 zum Erzielen eines Bildlaufleisten-Verschönerungseffekts

Der spezifische Code lautet wie folgt: /*Breite d...

So ändern Sie die Zeit in der virtuellen CentOS-Maschine

Das obere Bild zeigt die Systemzeit und das unter...

VM VirtualBox virtuelle Maschine mounten freigegebenen Ordner

Eine Umgebung Installieren Sie VMware Tools auf C...

So installieren Sie Docker und konfigurieren Alibaba Cloud Image Accelerator

Docker-Installation Über die Installation auf ein...

Detaillierte Erklärung der gemischten Vererbung in Vue

Inhaltsverzeichnis Die Auswirkungen der gemischte...

Sechs wichtige Selektoren in CSS (merken Sie sie sich in drei Sekunden)

Von: https://blog.csdn.net/qq_44761243/article/de...

Beispielcode des Spread-Operators und seiner Anwendung in JavaScript

Der Spread-Operator ermöglicht die Erweiterung ei...

Mysql löst das N+1-Abfrageproblem der Datenbank

Einführung In Orm-Frameworks wie Hibernate und My...

CSS zum Implementieren von QQ-Browserfunktionen

Code Wissenspunkte 1. Kombinieren Sie fullpage.js...

960 Grid System – Grundprinzipien und Verwendung

Natürlich gibt es auch viele Leute, die die gegent...

Docker-Installations- und Konfigurationsschritte für das Redis-Image

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

Beispiel für die Implementierung einer kaskadierenden MySQL-Replikation

Bei der sogenannten kaskadierenden Replikation sy...

Ausführliche Erklärung zu Sitzung und Cookie in Tomcat

Vorwort HTTP ist ein zustandsloses Kommunikations...