mysql - functions - sql server
Valor predeterminado no vĂ¡lido para ''fechaAdded'' (7)
Tengo un problema estúpido con SQL que no puedo solucionar.
ALTER TABLE `news` ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT , ADD PRIMARY KEY ( `dateAdded` )
Error:
(#1067)Invalid default value for ''dateAdded''
¿Puede alguien ayudarme?
¡Cambia el tipo de datetime a timestamp y funcionará! Tuve el mismo problema con mysql 5.5.56-MariaDB - MariaDB Server Espero que pueda ayudar ... lo siento si estoy privado
También tenga en cuenta que al especificar DATETIME
como DATETIME(3)
o como en MySQL 5.7.x, también debe agregar el mismo valor para CURRENT_TIMESTAMP(3)
. Si no, seguirá arrojando '' Valor predeterminado no válido ''.
Tengo la versión 5.6.27 de mysql en mi LEMP y CURRENT_TIMESTAMP ya que el valor predeterminado funciona bien.
Tuve el mismo problema, después de solucionar solucionó 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
mysql versión 5.5 establece el valor predeterminado de fecha y hora como CURRENT_TIMESTAMP será un error de informe que puede actualizar a la versión 5.6, establece el valor predeterminado de fecha y hora como CURRENT_TIMESTAMP
CURRENT_TIMESTAMP
es específico de la versión y ahora está permitido para las columnas DATETIME
partir de la versión 5.6.
Vea los dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html .
CURRENT_TIMESTAMP
solo es aceptable en los campos TIMESTAMP
. DATETIME
campos DATETIME
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.