我需要将文件目录插入到列中,但是当我在插入它们后选择(*)时,所有反斜杠都消失了。有谁知道我该怎么做。我不可能逃脱斜线,因为我有数千条记录。我认为mysql要求用户使用remove_slases或php中的东西来做到这一点
最佳答案
在 MySQL 中执行此操作的简单方法是设置 NO_BACKSLASH_ESCAPES
SQL 模式。对 SET SESSION sql_mode='NO_BACKSLASH_ESCAPES';
的 session 执行此操作
因此:
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
关于MySQL:我想插入带有反斜杠的文件目录,但是当我查看该列时,我没有看到反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486895/