Mysql
 sql >> Base de données >  >> RDS >> Mysql

La requête avec deux horodatages ne fonctionne pas

Le TIMESTAMP est en fait similaire à un DATETIME, mais le premier TIMESTAMP que vous déclarez est automatiquement initialisé :

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

Ainsi, lorsque vous écrivez TIMESTAMP sans attributs pour la première fois, MySQL le convertit en interne en ajoutant "DEFAULT CURRENT_TIMESTAMP". Lorsque MySQL rencontre le deuxième TIMESTAMP où vous définissez explicitement CURRENT_TIMESTAMP, entre en conflit.

Si vous définissez CURRENT_TIMESTAMP dans la première ligne, alors c'est redondant - et puisque vous ne spécifiez rien dans la seconde, la seconde n'obtient aucune valeur par défaut et n'entre pas en conflit.

À partir du lien ci-dessus, "Il n'est pas nécessaire que ce soit la première colonne TIMESTAMP d'une table qui est automatiquement initialisée ou mise à jour avec l'horodatage actuel. Cependant, pour spécifier l'initialisation ou la mise à jour automatique pour une autre colonne TIMESTAMP, vous devez supprimer les propriétés automatiques de la le premier."