Zeitstempel automatisch in MySQL aufzeichnen
Automatische Zeitstempelaufzeichnung ist eine häufige Anforderung bei der Pflege von Datensätzen in einer Datenbank. In diesem Artikel geht es um die konkrete Frage, wie MySQL so konfiguriert werden kann, dass beim Erstellen eines neuen Datensatzes automatisch ein Zeitstempel gespeichert wird, um sicherzustellen, dass der Zeitstempel bei nachfolgenden Aktualisierungen unverändert bleibt.
Der ursprüngliche Ansatz, den der Benutzer versucht hat, verwendet Der Zeitstempel-Datentyp mit current_timestamp als Standardwert. Diese Methode führte jedoch dazu, dass der Zeitstempel jedes Mal aktualisiert wurde, wenn der Datensatz geändert wurde, was nicht das gewünschte Verhalten war.
Die Lösung besteht darin, die DEFAULT-Einschränkung zu verwenden, um den Zeitstempel nur bei einem neuen auf die aktuelle Zeit zu setzen Datensatz eingefügt wird. So geht's:
Für eine neue Tabelle:
Fügen Sie zum Zeitpunkt der Tabellenerstellung die folgende Syntax ein:
CREATE TABLE ... your_date_column DATETIME DEFAULT CURRENT_TIMESTAMP ...
Für vorhandene Tabellen:
Wenn die Tabelle bereits vorhanden ist, verwenden Sie die ALTER TABLE-Anweisung:
ALTER TABLE your_table ALTER COLUMN date_column SET DEFAULT CURRENT_TIMESTAMP
Mit dieser Konfiguration erhält die angegebene Spalte automatisch den aktuellen Zeitstempel ohne von nachfolgenden Aktualisierungen des Datensatzes betroffen sein.
Denken Sie daran: Wenn Sie das Feld date_column leer lassen, wird die Verwendung des Standardwerts (aktueller Zeitstempel) ausgelöst, während die Angabe von NULL oder DEFAULT auch die Verwendung der Standardeinschränkung sicherstellt. Allerdings muss die Spalte nullfähig sein, damit dieser Ansatz effektiv funktioniert.
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen unter Berücksichtigung des Frage-und-Antwort-Formats: **. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!