So wählen Sie den richtigen MySQL-Datums-/Uhrzeittyp zum Speichern Ihrer Zeit

So wählen Sie den richtigen MySQL-Datums-/Uhrzeittyp zum Speichern Ihrer Zeit

Beim Erstellen einer Datenbank und Schreiben eines Programms ist die Verwendung von Datum und Uhrzeit unvermeidlich. Für die Datenbank stehen verschiedene Datums- und Uhrzeitfelder zur Auswahl, z. B. Zeitstempel und Datum/Uhrzeit. Zum Speichern von Unix-Zeitstempeln wird int verwendet.

Nicht nur Anfänger, sondern auch einige erfahrene Programmierer sind immer noch verwirrt. Welchen Typ soll ich zum Speichern von Datum und Uhrzeit verwenden?

Anschließend analysieren wir Schritt für Schritt deren Eigenschaften, um den für unsere Anforderungen geeigneten Feldtyp zum Speichern auszuwählen (Vorteile und Nachteile werden verglichen, so wie Eltern seit ihrer Kindheit gerne die Kinder ihrer Nachbarn mit sich selbst vergleichen).

Datum/Uhrzeit und Zeitstempel

  1. Datum und Uhrzeit ähneln eher einer Kombination aus der Zeit im Kalender und der Zeit auf Ihrer Uhr, also einer bestimmten Zeit.
  2. Der Zeitstempel eignet sich besser zum Aufzeichnen der Zeit. Beispiel: Ich befinde mich am 02.08.2016 um 10:35:52 Uhr in der Eastern Time Zone 8 und Sie befinden sich in Japan (die Zeit in der Eastern Time Zone 9 ist 02.08.2016 11:35:52 Uhr). Wir chatten und die Datenbank zeichnet die Zeit auf. Nach dem Abrufen ist meine Zeit 02.08.2016 10:35:52 Uhr und für Sie in Japan 02.08.2016 11:35:52 Uhr. Eine Berücksichtigung der Zeitzonenberechnung ist daher nicht erforderlich.
  3. Der Zeitbereich ist eine Einschränkung des Zeitstempels (1970-2038). Natürlich kann datetime (1000-9999) nicht aufzeichnen, wann Liu Bei geboren wurde (161).

Zeitstempel und UNIX-Zeitstempel

  1. Die Anzeige ist intuitiv, was die Fehlerbehebung erleichtert. Sie sieht viel besser aus als viele lange Ganzzahlzahlen.
  2. int beginnt ab 1970 zu akkumulieren, aber der von int unterstützte Bereich reicht vom 13.12.1901 bis zum 19.01.2038 03:14:07. Wenn ein größerer Bereich erforderlich ist, muss er auf bigInt gesetzt werden. Diese Zeit umfasst jedoch keine Millisekunden. Wenn Millisekunden benötigt werden, muss sie als Gleitkommazahl definiert werden. Datum/Uhrzeit und Zeitstempel bestehen standardmäßig aus 6 Mikrosekunden.
  3. Der Zeitstempel verfügt über eine eigene Zeitzonenkonvertierung, genau wie Punkt 2 oben.
  4. Die vom Benutzer am Frontend eingegebene Zeit ist im Allgemeinen ein Datumstyp. Wenn sie als int gespeichert wird, muss sie vor der Speicherung und nach dem Abrufen verarbeitet werden.

Zusammenfassen:

  1. Der Zeitstempel erfasst häufig wechselnde Aktualisierungs-/Erstellungs-/Veröffentlichungs-/Protokollierungs-/Kauf-/Anmelde-/Registrierungszeitpunkte usw. und ist aktuell und ausreichend, mit automatischer Zeitzonenverarbeitung, zum Beispiel bei Einkäufen im Ausland oder wenn das Geschäft ins Ausland expandieren könnte
  2. datetime zeichnet eine feste Zeit auf, beispielsweise die Zeit, zu der der Server eine geplante Aufgabe/einen Fitness-Trainingsplan ausführt usw. In jeder Zeitzone ist eine feste Zeit erforderlich, um etwas zu tun. Wenn die Zeitzone außerhalb des Zeitstempels liegt, müssen Sie sich an die Zeitzonenverarbeitung erinnern, wenn die Zeitzone erforderlich ist
  3. UNIX-Zeitstempel sind nicht sehr praktisch in der Anwendung. Zum Vergleichen von Bereichen sind Zeitstempel und Datum/Uhrzeit geeignet.
  4. Wenn Ihnen die Zeitzonen egal sind oder Sie über einen eigenen Zeitzonenplan verfügen, können Sie den Plan Ihrer Wahl wählen.
  5. Laravel ist ein international entwickeltes Framework. Zur Vereinfachung für Programmierer und zur Einhaltung von Datenbankdesignstandards ist es verständlich, dass created_at und updated_at Zeitstempel verwenden.
  6. Gibt es einen Zeittyp, der das Problem von Bereich und Zeitzone löst? Das ist unmöglich, gibt es nicht auch tinyInt und BigInt? Nehmen Sie, was Sie brauchen, und MySQL ermöglicht die Änderung von Datenbankfeldern.
  7. Geburtstage können in mehreren Feldern gespeichert werden, z. B. Jahr/Monat/Tag, sodass es einfach ist, Benutzer zu finden, die an einem bestimmten Tag Geburtstag haben (User::where(['month' => 8, 'day' => 12])->get()).

Beim Erstellen eines Projekts müssen Sie sorgfältig überlegen, welches für Ihr Geschäftsszenario besser geeignet ist. Welches soll ich wählen? Hängt von der Nachfrage ab.

Dies ist das Ende dieses Artikels zur Auswahl des richtigen MySQL-Datums- und Zeittyps zum Speichern Ihrer Zeit. Weitere Informationen zu MySQL-Datums- und Zeittypen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • MySQL-Zeittypauswahl
  • Erläuterung des Problems bei der Auswahl des MySQL-Speicherzeittyps
  • Informationen zur Auswahl des MySQL-Zeittyps
  • Analysieren von MySql- und Java-Zeittypen
  • Zusammenfassung der Verwendung des MySQL-Datumsdatentyps und des Zeittyps
  • Details zu MySQL-Zeittypen und -Modi

<<:  Detailliertes Tutorial zur Installation von OpenStack Ussuri in CentOS8 mit minimaler Bereitstellung

>>:  So implementieren Sie Datenpersistenz mit dem Vuex-Drittanbieterpaket

Artikel empfehlen

Detaillierte Konfiguration der drahtlosen Netzwerkkarte unter Ubuntu Server

1. Stecken Sie die WLAN-Karte ein und prüfen Sie ...

Detailliertes Beispiel für das Datenbankbetriebsobjektmodell in Spring jdbc

Detailliertes Beispiel für das Datenbankbetriebso...

Optimierung der MySQL 4G-Speicherserverkonfiguration

Da die Anzahl der Besuche auf der Website des Unt...

Eine einfache Möglichkeit, das Passwort in MySQL 5.7 zu ändern

Dies ist ein offizieller Screenshot. Nach der Ins...

Einführung in die Verwendung gängiger XHTML-Tags

Es gibt viele Tags in XHTML, aber nur wenige werd...

setup+ref+reactive implementiert Vue3-Reaktionsfähigkeit

Das Setup wird zum Schreiben kombinierter APIs ve...

Implementierungscode zur Installation von vsftpd in Ubuntu 18.04

Installieren Sie vsftpd $ sudo apt-get installier...

Welcher Befehl eignet sich besser für die unscharfe Suche nach Dateien in Linux?

1. Einleitung In diesem Artikel wird hauptsächlic...

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...

Webdesign: Wenn der Titel nicht vollständig angezeigt werden kann

<br />Ich habe mir heute die neu gestaltete ...