Solución:
“MySQL recupera y muestra los valores DATETIME en formato ‘AAAA-MM-DD HH: MM: SS'”. Esto es del sitio mysql. Puede almacenar solo este tipo, pero puede usar una de las muchas funciones de formato de hora para cambiarlo, cuando necesite mostrarlo.
Funciones de fecha y hora de Mysql
Por ejemplo, una de esas funciones es DATE_FORMAT, que se puede usar así:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
Utilice la función DATE_FORMAT para cambiar el formato.
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
Consulte DOC para obtener más detalles
Como otros han explicado que no es posible, pero aquí hay una solución alternativa, requiere un poco de ajuste, pero funciona como una columna de fecha y hora.
Empecé a pensar cómo podría hacer posible el formateo. Tengo una idea. ¿Qué tal si lo desencadenamos? Quiero decir, agregando columna con tipo char
y luego actualizar esa columna usando un disparador MySQL. ¡Y funcionó! Hice algunas investigaciones relacionadas con los desencadenantes y finalmente se me ocurrieron estas consultas:
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
No puedes usar TIMESTAMP
o DATETIME
como tipo de columna, porque tienen su propio formato y se actualizan automáticamente.
Entonces, ¡aquí está su alternativa de marca de tiempo o fecha y hora! Espero que esto haya ayudado, al menos me alegro de haberlo hecho funcionar.