Tengo una tabla con dos campos de marca de tiempo. Simplemente los definí con un nombre y el tipo TIMESTAMP
, pero por alguna razón MySQL estableció automáticamente uno de ellos con un valor predeterminado y el atributo on update CURRENT_TIMESTAMP
. Estaba planeando NO tener valor predeterminado en ninguno de los campos, pero uno de los campos se llama "date_updated", así que supongo que podría establecer el atributo mencionado en ese campo.¿Por qué MySQL no me permite eliminar el atributo "en la actualización CURRENT_TIMESTAMP"?
Desafortunadamente, es el campo "date_created" que se estableció con el atributo on update CURRENT_TIMESTAMP
, y no importa lo que haga, MySQL no me permitirá eliminarlo.
He intentado editar el campo "date_created" y eliminar el atributo. Al hacer clic en guardar, el atributo vuelve. También intenté seleccionar ambos campos, eliminar el atributo de uno de ellos y configurarlo en el otro. Me da el error #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
y de repente dos columnas de atributos en los valores están ajustados a on update CURRENT_TIMESTAMP
el resultado:
Error
SQL query:
ALTER TABLE `pages` CHANGE `date_created` `date_created` TIMESTAMP NOT NULL ,
CHANGE `date_updated` `date_updated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
¿Debo realmente recrear esas dos columnas en el orden correcto para solucionar este problema?
Me gustaría saber cómo puedo resolver este problema correctamente, para referencia futura.
Gracias
Ahora también han tratado de ejecutar
ALTER TABLE pages
CHANGE date_created
date_created TIMESTAMP NOT NULL
es NULL DEFAULT una opción también? – GolezTrol
@GolezTrol no, ya que se define como 'NOT NULL' no puede ser NULL – meze
¿Siempre necesita un valor predeterminado? Me refiero a los tipos de marcas de tiempo NOT NULL. Estoy teniendo el mismo problema, pero no puedo eliminar el valor predeterminado. –