我有一个MariaDB版本的10.2.13-MariaDB-10.2.13+maria~jessie,带有一个表ids。表的创建代码是:
CREATE TABLE `ids` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`lastupdate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, # for some reason this is being ignored
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;创建表时,不设置lastupdate列的默认值。实际上,查看HeidiSQL中的HeidiSQL代码,我看到了... DEFAULT '' ...。
此外,下面的查询运行时没有错误,但不影响表。
ALTER TABLE ids
MODIFY lastupdate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;而这个完全可以工作
ALTER TABLE ids
MODIFY lastupdate TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00';。这里有什么问题吗?
实现细节:数据库正在码头容器中运行,从默认的mariadb映像中轻松扩展。
发布于 2018-03-26 22:10:53
这可能是HeidiSQL (或这个特定版本的HeidiSQL)的问题,而不是MariaDB本身的问题。
您可以使用MariaDB客户端(mysql)验证这一点,然后运行CREATE TABLE查询,然后:
SHOW CREATE TABLE ids;https://stackoverflow.com/questions/49496465
复制相似问题