Tengo una tabla que tiene miles de filas. Dado que la tabla no se construyó inicialmente con la columna created_at, no hay forma de obtener su marca de tiempo de creación. Sin embargo, es crucial comenzar a obtener las marcas de tiempo para las filas futuras.
¿Hay alguna forma de que pueda agregar una columna de marca de tiempo con el valor predeterminado AHORA () para que no llene los valores de las filas anteriores, sino solo para las futuras?
Si hago la ALTERconsulta, llena todas las filas con la marca de tiempo:
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
fuente

UPDATEno es necesario. Si agrega una columna predeterminada a una columna existente , las filas ya existentes no se verán afectadas. El valor predeterminado solo se completa si agrega una columna y el valor predeterminado en el mismo comando.Por ejemplo, crearé una tabla llamada
userscomo se muestra a continuación y daré una columna llamadadateun valor predeterminadoNOW()Gracias
fuente
Prueba algo como: -
reemplazando
table_namecon el nombre de su tabla.fuente