Ich habe eine Tabelle mit Tausenden von Zeilen. Da die Tabelle anfangs nicht mit der Spalte created_at erstellt wurde, kann der Erstellungszeitstempel nicht abgerufen werden. Es ist jedoch wichtig, die Zeitstempel für zukünftige Zeilen abzurufen.
Gibt es eine Möglichkeit, eine Zeitstempelspalte mit dem Standardwert NOW () hinzuzufügen, damit die Werte nicht in vorherige Zeilen, sondern nur in zukünftige Zeilen eingefügt werden?
Wenn ich die ALTER
Abfrage durchführe, werden alle Zeilen mit Zeitstempel gefüllt:
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
quelle
UPDATE
ist nicht nötig. Wenn Sie einer vorhandenen Spalte einen Spaltenstandard hinzufügen , sind bereits vorhandene Zeilen nicht betroffen. Die Standardeinstellung wird nur ausgefüllt, wenn Sie im selben Befehl eine Spalte und eine Standardeinstellung hinzufügen.Zum Beispiel werde ich eine Tabelle mit dem folgenden Namen erstellen
users
und einer Spaltedate
einen Standardwert gebenNOW()
Vielen Dank
quelle
Versuchen Sie etwas wie: -
Ersetzen
table_name
durch den Namen Ihrer Tabelle.quelle