【问题标题】:What are repercussions of enabling NO_BACKSLASH_ESCAPES in MariaDB?在 MariaDB 中启用 NO_BACKSLASH_ESCAPES 有什么影响?
【发布时间】:2017-07-31 14:46:31
【问题描述】:

我有一个最终用户请求我启用NO_BACKSLASH_ESCAPES 服务器 SQL 模式。他实际上只能访问一个数据库。我是否只能对他的特定数据库启用此选项?如果不是,而且是全球性的,会有什么样的影响?由于它禁用了反斜杠,我担心这会影响 Web 服务器上的其他 PHP 程序。

【问题讨论】:

    标签: mysql mariadb


    【解决方案1】:

    影响

    MariaDB 和 MySQL 文档都陈述了同样的事情:

    NO_BACKSLASH_ESCAPE 禁用使用反斜杠字符 \ 作为 字符串中的转义字符,使其等同于普通 字符。

    因此,作为全局设置,这肯定会产生不良影响。

    全局 VS 会话

    可以在特定会话上设置变量,使其不是全局变量。 例如。

    SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',NO_BACKSLASH_ESCAPES');

    此外,如果您曾经全局设置过,该设置将在重新启动后恢复,请参阅:setting global sql_mode in mysql

    参考

    https://mariadb.com/kb/en/mariadb/sql-mode/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2015-11-05
      • 2011-08-18
      • 2018-10-25
      • 2019-03-17
      相关资源
      最近更新 更多