Esta consulta MySql funciona bem no Windows:
CREATE TABLE `posts`.`table` (
`idTable` INT NOT NULL AUTO_INCREMENT,
`Column1` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`idTable`));
No Ubuntu , está dando o seguinte erro:
ERRO 1067: Valor padrão inválido para
'Column1'
Como dou CURRENT_TIMESTAMP
como valor padrão para o 'Column1'
Ubuntu?
A versão do MySql é esta:
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
O motivo são as diferentes versões instaladas nos dois ambientes.
A opção para
DEFAULT CURRENT_TIMESTAMP
colunasdatetime
foi adicionada na versão 5.6 (especificamente na 5.6.5). Veja a documentação sobre os tiposDATE
,DATETIME
eTIMESTAMP
:Muito provavelmente sua instalação do Linux possui uma versão mais antiga enquanto a do Windows possui uma versão mais recente. A solução seria atualizar para a versão mais recente (ou instalá-la além da antiga).
Informações gerais sobre atualização de 5.5 para 5.6 aqui: Atualizando do MySQL 5.5 para 5.6 e específicas sobre atualização no Ubuntu 14.04 LTS .
Não se esqueça de fazer backup de seus dados antes de atualizar e executar
mysql_upgrade
imediatamente depois.