Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

É possível definir uma coluna de carimbo de data/hora que não seja nula e não tenha padrão e nenhum comportamento especial na atualização?


As colunas de carimbo de data/hora são um caso especial. Veja aqui :Por padrão, as colunas TIMESTAMP são NOT NULL, não podem conter valores NULL e atribuir NULL atribui o carimbo de data/hora atual.

Para obter informações mais detalhadas, leia Valores padrão do tipo de dados .

Especificamente, essa situação se aplica quando não é executado no modo estrito. Se estiver executando no modo estrito, inserir um NULL gerará um erro.

Isso deve cuidar disso:
ALTER TABLE tableName ALTER COLUMN columnName DROP DEFAULT;

Se isso não funcionar, isso deve deixar você com o padrão (facilmente substituído), mas remova o ON UPDATE:
ALTER TABLE tableName CHANGE columnName columnName NOT NULL DEFAULT CURRENT_TIMESTAMP;

Observe o nome da coluna repetida.