Heim  >  Artikel  >  Datenbank  >  Der Unterschied zwischen Datetime und Timestamp in MySQL

Der Unterschied zwischen Datetime und Timestamp in MySQL

一个新手
一个新手Original
2017-10-17 10:05:221552Durchsuche

Die drei Typen Datum, Datum/Uhrzeit und Zeitstempel (wenn Sie int zählen, vier Typen), die in MySQL zur Darstellung der Zeit verwendet werden, sind relativ leicht zu verwechseln. Vergleichen wir die Ähnlichkeiten und Unterschiede dieser drei Typen

Die gleichen Punkte

können zur Darstellung der Zeit verwendet werden
Beide werden als Zeichenfolgen angezeigt

Die verschiedenen Punkte

1. Wie der Name schon sagt, stellt Datum nur das Datum in der Form „JJJJ-MM-TT“ dar, Datum/Uhrzeit stellt „JJJJ-MM-TT“ dar. Datum plus Uhrzeit im Format HH:mm:ss', der Zeitstempel wird im gleichen Format wie Datum/Uhrzeit angezeigt.
2. Der Zeitbereich, den Datum und Uhrzeit darstellen können, reicht von „1000-01-01“ bis „9999-12-31“ und ist durch den 32-Bit-Int-Typ begrenzt. 01' 00:00:01'bis'2038-01-19 03:14:07' UTC-Zeit.
3. MySQL konvertiert die Zeit beim Speichern des Zeitstempeltyps in UTC-Zeit und stellt sie beim Lesen auf die aktuelle Zeitzone zurück. Wenn Sie einen Zeitstempeltypwert speichern und dann die MySQL-Zeitzone ändern, erhalten Sie beim erneuten Lesen des Werts eine falsche Uhrzeit. Dies ist bei Datum und Datum/Uhrzeit nicht der Fall.
4. Der Zeitstempeltyp bietet eine automatische Aktualisierungsfunktion. Sie müssen lediglich den Standardwert auf CURRENT_TIMESTAMP festlegen.
5. Zusätzlich zur Angabe von Tagen werden auch Datum, Uhrzeit und Zeitstempel auf Sekunden festgelegt, während Millisekunden ignoriert werden.

Zeitformat

MySQL bietet ein relativ lockeres Zeitzeichenfolgenformat zum Hinzufügen, Löschen, Ändern und Abfragen. Beziehen Sie sich auf das ISO-Zeitformat, das im Allgemeinen als „2013-06-05“ geschrieben wird 16:34:18‘. Sie können es aber auch als „13-6-5“ abkürzen, was jedoch leicht zu Verwirrung führen kann. Beispielsweise behandelt MySQL „13:6:5“ auch als Jahr, Monat und Tag und als „13:16“. :5‘-Formular betrachtet MySQL es als falsches Format, es wird eine Warnung ausgegeben und der in der Datenbank gespeicherte Wert ist dann „0000-00-00“. 00:00:00‘.

Das Handbuch erwähnt auch ausdrücklich eine Situation: Wenn der Wert des aktuellen Jahres 0 bis 69 beträgt, geht MySQL davon aus, dass es 2000 bis 2069 ist, und wenn es 70 bis 99 ist, betrachtet es es als 1970 ~1999. Ich habe das Gefühl, dass es überflüssig ist.

Kurz gesagt: Passen Sie sich der sich ständig ändernden Situation an, indem Sie gleich bleiben, und die Verwendung des Formats „JJJJ-MM-TT HH:mm:ss“ wird nie schief gehen

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Datetime und Timestamp in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Die Rolle von EXPLAIN in MySQLNächster Artikel:Die Rolle von EXPLAIN in MySQL