如何解决MySql 在 RDS 和本地 docker 容器上的行为不同
我的本地 MySQL docker 容器和另一个环境中的 RDS 实例的行为存在差异。我已阅读有关此错误的文档以及 sql_mode
的不同选项。但我想不通这种差异从何而来。
- 我正在运行完全相同的脚本。
- 版本是一样的 (MySQL 5.7.26) 并且所有相关的参数看起来都一样
- 本地对于 docker 我使用带有默认命令的图像
mysql:5.7
我为重现问题而运行的脚本:
CREATE DATABASE `test_db`;
USE `test_db`;
SET SESSION `sql_mode`='STRICT_TRANS_TABLES';
CREATE TABLE `my_table` (
`id` INT NOT NULL AUTO_INCREMENT,`name` VARCHAR(50) NOT NULL,`date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),PRIMARY KEY (`id`)
);
SHOW SESSION VARIABLES WHERE variable_name = 'sql_mode';
/* outputs: sql_mode STRICT_TRANS_TABLES */
INSERT INTO `my_table` (`id`,`name`,`date_created`) VALUES (NULL,'John',NULL);
SHOW WARNINGS;
本地主机上的结果
/* Affected rows: 1 Found rows: 0 Warnings: 0 Duration for 1 query: 0.000 sec. */
RDS 上的结果
/* SQL Error (1048): Column 'date_created' cannot be null */
显然不是 sql_mode
参数,也不是版本。这种行为上的差异还来自哪里?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。