gpt4 book ai didi

mysql : Insert null timestamp into NOT NULL column

转载 作者:行者123 更新时间:2023-11-29 11:01:29 25 4
gpt4 key购买 nike

Mysql版本为5.1.73,在defaulton update中只能有一个timestamp列,其中current_timestamp code> 子句,所以我尝试创建表:

create table `temp`( 
`id` INTEGER NOT NULL auto_increment PRIMARY KEY,
`created_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
`last_updated_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

执行此sql后:

insert into `temp`(id,created_date, last_updated_date) values(1,null, null); 

我得到了这个文件:

1   2017-02-10 18:17:16 2017-02-10 18:18:13

这是我的问题:

  • 我设置了created_date NOT NULL,为什么插入sql运行良好?它应该返回Error: Column 'xx' can not be null吗?
  • 为什么 created_date 列获取了一个值,但它不是默认值

谢谢。

最佳答案

这就是MySql的方式的TIMESTAMP工作,如果你想在 NULL 上得到错误正确的方法是使用 DATETIME相反。

因此,如果您创建下表

create table `temp`( 
`id` INTEGER NOT NULL auto_increment PRIMARY KEY,
`created_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`last_updated_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

然后执行以下查询,您将收到错误。

insert into `temp`(id,created_date, last_updated_date) values(1,null, null); 

现在您将开始收到此错误 #1048 - Column 'created_date' cannot be null .

关于mysql : Insert null timestamp into NOT NULL column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42157488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com