我需要将文件目录插入一列,但是当我在插入它们后选择 (*) 时,所有反斜杠都消失了。有谁知道我怎么能做到这一点。因为我有成千上万的记录,所以我不可能逃脱斜线。我认为 mysql 要求用户使用 remove_slases 或 php 中的东西来执行此操作
user2548054
问问题
133 次
1 回答
0
在 MySQL 中执行此操作的简单方法是设置NO_BACKSLASH_ESCAPES
SQL 模式。为会话执行此操作SET SESSION sql_mode='NO_BACKSLASH_ESCAPES';
像这样:
mysql> SELECT @@SESSION.sql_mode;
+--------------------+
| @@SESSION.sql_mode |
+--------------------+
| |
+--------------------+
1 row in set (0.00 sec)
mysql> select 'don\t';
+------+
| don |
+------+
| don |
+------+
1 row in set (0.00 sec)
mysql> SET SESSION sql_mode='NO_BACKSLASH_ESCAPES';
Query OK, 0 rows affected (0.00 sec)
mysql> select 'don\t';
+-------+
| don\t |
+-------+
| don\t |
+-------+
1 row in set (0.00 sec)
这允许您插入 c:\bla\tla\bla 而不会将 \b 或 \t 解释为字符串文字。还要看看QUOTE()
你是否需要像 mysql_real_escape_string 一样“转义”
更多信息请访问http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_no_backslash_escapes
于 2013-07-05T11:32:06.213 回答