我有一个最终用户正在请求启用NO_BACKSLASH_ESCAPES
服务器SQL模式。他实际上只能访问一个数据库。我是否只能对他的特定数据库启用此选项?如果不是,那是全球性的,将会产生什么样的影响?因为它禁用了反斜杠,所以我担心这会影响Web服务器上的其他PHP程序。
最佳答案
反响
MariaDB和MySQL文档都声明相同的内容:
NO_BACKSLASH_ESCAPES禁止将反斜杠字符\用作
转义字符串中的字符,使其等同于普通字符
字符。
因此,这肯定会在全球范围内产生不良影响。
全球VS会议
可以在特定会话上设置该变量,以便它不是全局的。
例如。SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',NO_BACKSLASH_ESCAPES');
另外,如果您确实进行了全局设置,则设置将在重启后恢复,请参见:setting global sql_mode in mysql
参考
https://mariadb.com/kb/en/mariadb/sql-mode/
关于mysql - 在MariaDB中启用NO_BACKSLASH_ESCAPES有什么影响?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45419007/