Le UNIX_TIMESTAMP()
La fonction nécessite un format de date/heure valide pour être convertie correctement, vous devez donc d'abord convertir votre format de date/heure existant en un format valide/reconnu (y compris l'année). Vous pouvez le faire en utilisant le STR_TO_DATE()
de MySQL fonction, en lui indiquant le format dans lequel vous transmettez et en concaténant une valeur d'année codée en dur, car il s'agit toujours de 2016 dans votre cas.
STR_TO_DATE(CONCAT('2016-', <your date/time value>), '%Y-%d %b %h:%i%p')
Vous pouvez alors utiliser le UNIX_TIMESTAMP()
pour convertir cette date valide en votre horodatage Unix et mettre à jour tous ces enregistrements en une seule étape :
UPDATE table_name
SET new_timestamp =
UNIX_TIMESTAMP(STR_TO_DATE(CONCAT('2016-', timestamp), '%Y-%d %b %h:%i%p'));