Criei uma tabela no HeidiSQL:
CREATE TABLE `publish_dt` (
`ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
`TS` DATETIME NULL DEFAULT NULL,
`Text` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
PRIMARY KEY (`ID`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2
;
Então eu insiro alguns dados na tabela, por exemplo, com
INSERT INTO publish_dt (`Text`) VALUES ('Hello')
Então eu quero mudar a TS
coluna para não NULL
com um padrão de '1001-01-01 00:00:00'. Tentei fazer isso no HeidiSQL, ele produz a seguinte ALTER TABLE
consulta:
ALTER TABLE `publish_dt`
CHANGE COLUMN `TS` `TS` DATETIME NOT NULL DEFAULT '1001-01-01 00:00:00' AFTER `ID`;
No entanto, quando tento salvar as alterações no HeidiSQL, recebo o seguinte erro do banco de dados:
SQL Error (1265): Data truncated for column 'TS' at row 1
Você poderia, por favor, esclarecer por que esse erro acontece (não consegui encontrar o mesmo caso DATETIME
na internet) e como contorná-lo?
Motivo da pergunta: a documentação do MariaDB diz
O MariaDB armazena valores que usam o tipo de dados DATETIME em um formato que dá suporte a valores entre 1000-01-01 00:00:00.000000 e 9999-12-31 23:59:59.999999.