我有一个终端用户请求我启用NO_BACKSLASH_ESCAPES服务器SQL模式.他实际上只能访问一个数据库。我是否能够只对他的特定数据库启用此选项?如果没有,而且是全球性的,会产生什么样的影响?由于它禁用反斜杠,我担心这会影响web服务器上的其他PHP程序。
发布于 2017-07-31 14:57:23
反响
MariaDB和MySQL文档都声明了相同的内容:
NO_BACKSLASH_ESCAPES禁用将反斜杠字符\用作字符串中的转义字符,使其等同于普通字符。
因此,作为一个全球环境,这肯定会产生不必要的影响。
全局与会话
可以在特定的会话上设置变量,使其不是全局的。例如。
SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',NO_BACKSLASH_ESCAPES');
此外,如果您确实全局设置了它,则该设置将在重新启动后恢复,请参见:mode in mysql
参考文献
https://stackoverflow.com/questions/45419007
复制相似问题