网站建设客户好评信,o2o电子商务模式的特点,网站推广是做什么工作,网络营销渠道策略作者#xff1a;俊达 在MySQL中#xff0c;默认情况下#xff0c;反斜杠#xff08;\#xff09;被用作转义字符#xff0c;转义反斜杠(\)后一个字符#xff1b;当设置NO_BACKSLASH_ESCAPES后#xff0c;反斜杠(\)将不作为转义字符#xff0c;而被视为普通字符。
下面…作者俊达 在MySQL中默认情况下反斜杠\被用作转义字符转义反斜杠(\)后一个字符当设置NO_BACKSLASH_ESCAPES后反斜杠(\)将不作为转义字符而被视为普通字符。
下面是一个示例说明了这两种情况的区别 未设置NO_BACKSLASH_ESCAPES模式
mysql create table t_escape(id int, a varchar(100));
Query OK, 0 rows affected (0.01 sec)-- 默认情况反斜杠是转义符会改变后一个字符的含义。
mysql set sql_mode;
Query OK, 0 rows affected (0.00 sec)mysql insert into t_escape values(1, a\b);
Query OK, 1 row affected (0.00 sec)mysql insert into t_escape values(1, a\\b);
Query OK, 1 row affected (0.00 sec)mysql select * from t_escape;
------------
| id | a |
------------
| 1 | ab |
| 2 | a\b |
------------
2 rows in set (0.00 sec)设置NO_BACKSLASH_ESCAPES
SET sql_mode NO_BACKSLASH_ESCAPES;
-- 这个SQL中单引号不匹配报语法错误
mysql insert into t_escape values(3, a\b); ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near b);at line 1-- 2个反斜杠都写入到表中
mysql insert into t_escape values(4, a\\b);
Query OK, 1 row affected (0.01 sec)-- 单引号不能用反斜杠转义使用单引号转义单引号使用2个单引号代表一个单引号。
mysql insert into t_escape values(5, ab);
Query OK, 1 row affected (0.01 sec)mysql select * from t_escape;
------------
| id | a |
------------
| 1 | ab |
| 2 | a\b |
| 4 | a\\b |
| 5 | ab |
------------
4 rows in set (0.00 sec)总之NO_BACKSLASH_ESCAPES模式决定了反斜杠在MySQL中的转义行为。设置了该模式后反斜杠将被视为普通字符而不设置该模式则反斜杠用来转义后一个字符。通过设置NO_BACKSLASH_ESCAPES可以避免过度使用反斜杠转义符使操作更加简洁和易读。
更多技术信息请查看云掣官网https://yunche.pro/?tyrgw