我已经安装了一个新的 AWS RDS MariaDB,导入了我所有的表并且它已经启动并运行。在我的旧数据库中,我没有STRICT_TRANS_TABLES
设置,所以我必须遍历所有表并修改列以指定空值。在那之前,我想暂时禁用STRICT_TRANS_TABLES
它,以便我可以测试一些东西,然后我可以将其添加回来。
我能够@@SESSION
很好地修改 SQL 模式,但我仍然无法插入记录,因为某些插入是空的,所以我假设@@GLOBAL
仍然取代@@SESSION
SQL 模式。
我正在使用 MySQL Workbench 访问我的 RDS,当我尝试使用SET GLOBAL sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
但我得到Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation
.
有什么方法可以让我@@GLOBAL
使用 AWS RDS 修改 SQL 模式,我是否正确@@GLOBAL
取代了@@SESSION
SQL 模式?
更新
每当与我的数据库建立连接时,我都能够解决执行此查询的问题,但是是否有更永久的方法来执行此操作?
mysqli_query($conn, "SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION'");