gpt4 book ai didi

mysql - SQL 查询不适用于 RDS

转载 作者:太空宇宙 更新时间:2023-11-03 10:34:25 25 4
gpt4 key购买 nike

Using MySQL 5.6.40

这是表定义:

CREATE TABLE IF NOT EXISTS `updated_tables` (
`table_name` VARCHAR(50) NOT NULL,
`updated_at` TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`table_name`),
UNIQUE INDEX `table_name_UNIQUE` (`table_name` ASC))
ENGINE = InnoDB;

这是查询(由 Sequalize 生成):

INSERT INTO `updated_tables` (`table_name`,`updated_at`) VALUES ('workdamnit',NULL) ON DUPLICATE KEY UPDATE `table_name`=VALUES(`table_name`), `updated_at`=VALUES(`updated_at`);

同一查询的简化形式:

INSERT INTO `updated_tables` (`table_name`,`updated_at`) VALUES ('workdamnit',NULL) 

它在表中生成以下条目:

表名:该死的

更新时间:2018-07-05 14:27:17.142494

现在回答问题。

Using MySQL 5.6.39-log on AWS RDS

报错:错误代码:1048。“updated_at”列不能为空

是因为MySQL版本有点不同,还是跟RDS有关系?

最佳答案

在创建表格的过程中,您在专栏中提到了以下内容:updated_at:

  1. 不允许NULL
  2. 如果未提供任何内容,则默认使用 CURRENT_TIMESTAMP(6)

因此,当您在查询中插入 NULL 时,它会给出错误。

所以,如果我了解您目前正在尝试做什么,这应该是您的查询:

INSERT INTO `updated_tables` (`table_name`) VALUES ('workdamnit')

代替

INSERT INTO `updated_tables` (`table_name`,`updated_at`) VALUES ('workdamnit',NULL)

希望对你有帮助

关于mysql - SQL 查询不适用于 RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51193965/

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