首页 > 数据库 > mysql教程 > 如何在MySQL中正确设置多个全局SQL_MODE值?

如何在MySQL中正确设置多个全局SQL_MODE值?

Mary-Kate Olsen
发布: 2024-12-04 20:09:16
原创
281 人浏览过

How to Correctly Set Multiple Global SQL_MODE Values in MySQL?

在 MySQL 中设置全局 SQL_MODE:多种模式、优点和首选方法

尝试在 MySQL 中全局设置 SQL_MODE 时,用户可能会遇到一个错误。此错误提示有关设置多种模式的正确方法、设置会话模式和全局模式的优点以及首选方法的问题。

这不是设置多种模式的正确方法吗?

提供的命令,设置全局sql_mode='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION' 不是全局设置多个 SQL_MODE 值的正确语法。正确的做法是用双引号内的逗号组合所需的模式。

示例:

SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
登录后复制

设置 session 和 global 的优点是什么模式?

  • 会话mode: 适用于当前数据库连接并覆盖任何全局设置。允许临时更改 SQL_MODE 设置而不影响其他用户。
  • 全局模式: 适用于服务器上的所有数据库连接。确保所有用户的 SQL_MODE 一致。

首选方法

设置 SQL_MODE 的首选方法取决于具体要求:

  • 临时更改:使用会话模式设置 SQL_MODE 值特定用户或会话。
  • 永久更改: 使用全局模式为服务器上的所有用户设置 SQL_MODE 值。在 MySQL 配置文件 (my.cnf) 中配置这些设置,以确保它们在服务器重新启动后仍然存在。

永久设置全局 SQL_MODE 的示例

在MySQL配置文件(/etc/mysql/my.cnf):

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
登录后复制

以上是如何在MySQL中正确设置多个全局SQL_MODE值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板