Pregunta Valor predeterminado no válido para 'fechaAdded'


Tengo un problema estúpido con SQL que no puedo solucionar.

ALTER TABLE `noticias`
 ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT,
 AGREGAR TECLA PRIMARIA (`fechaAdded`)

Error:

(#1067)Invalid default value for 'dateAdded'

¿Puede alguien ayudarme?


75
2018-01-25 15:58


origen


Respuestas:


CURRENT_TIMESTAMP solo es aceptable en TIMESTAMP campos. DATETIME los campos deben dejarse con un valor predeterminado nulo o sin ningún valor predeterminado: los valores predeterminados deben ser un valor constante, no el resultado de una expresión.

documentos relevantes: http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

Puede solucionar esto configurando un desencadenante post-inserción en la tabla para completar un valor "ahora" en cualquier registro nuevo.


120
2018-01-25 16:05



CURRENT_TIMESTAMP es específico de la versión y ahora está permitido DATETIME columnas a partir de la versión 5.6.

Ver Documentos de MySQL.


44
2017-09-17 10:44



También tenga en cuenta al especificar DATETIME como DATETIME(3) o como en MySQL 5.7.x, también tiene que agregar el mismo valor para CURRENT_TIMESTAMP(3). Si no, seguirá tirando 'Valor predeterminado no válido'.


9
2017-07-06 08:44



Tengo la versión 5.6.27 de mysql en mi LEMP y CURRENT_TIMESTAMP ya que el valor predeterminado funciona bien.


0
2017-10-06 14:39



La versión 5.5 de mysql establece el valor predeterminado de fecha y hora como CURRENT_TIMESTAMP será un error de informe puede actualizar a la versión 5.6, establece el valor predeterminado de fecha y hora como CURRENT_TIMESTAMP


0
2017-12-08 06:55



¡Cambia el tipo de datetime a timestamp y funcionará! Tuve el mismo problema para mysql 5.5.56-MariaDB - MariaDB Server Espero que pueda ayudar ... lo siento si estoy privado


0
2017-11-13 16:23



Tuve el mismo problema, La siguiente solución resolvió mi problema.

  • Seleccione Tipo como 'TIMESTAMP'

  • NO INGRESE NINGUNA PARTE EN CAMPO DE LONGITUD / VALORES. MANTÉNGALO EN BLANCO 

  • Seleccione CURRENT_TIMESTAMP como valor predeterminado.

Estoy usando MySQL ver 5.5.56


0
2017-12-07 18:00