sql >> Base de Datos >  >> RDS >> Mysql

Consulta con dos marcas de tiempo que no funcionan

El TIMESTAMP es en realidad similar a un DATETIME, pero el primer TIMESTAMP que declare obtiene una inicialización automática:

http://dev.mysql.com/doc/refman /5.0/en/timestamp-initialization.html

Entonces, cuando escribe TIMESTAMP sin atributos la primera vez, MySQL lo convierte internamente agregando "DEFAULT CURRENT_TIMESTAMP". Cuando MySQL encuentra el segundo TIMESTAMP donde configuraste explícitamente CURRENT_TIMESTAMP, entra en conflicto.

Sin embargo, si define CURRENT_TIMESTAMP en la primera fila, entonces es redundante, y dado que no especifica nada en la segunda, la segunda no se asigna por defecto y no entra en conflicto.

Desde el enlace anterior, "No es necesario que sea la primera columna TIMESTAMP en una tabla que se inicialice o actualice automáticamente a la marca de tiempo actual. Sin embargo, para especificar la inicialización o actualización automática para una columna TIMESTAMP diferente, debe suprimir las propiedades automáticas para el el primero."