0

我需要将文件目录插入一列,但是当我在插入它们后选择 (*) 时,所有反斜杠都消失了。有谁知道我怎么能做到这一点。因为我有成千上万的记录,所以我不可能逃脱斜线。我认为 mysql 要求用户使用 remove_slases 或 php 中的东西来执行此操作

4

1 回答 1

0

在 MySQL 中执行此操作的简单方法是设置NO_BACKSLASH_ESCAPESSQL 模式。为会话执行此操作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 回答