我需要将文件目录插入到列中但是当我在插入它们之后选择(*)时,所有的反斜杠都消失了。有谁知道我怎么做到这一点。因为我有成千上万的记录,所以我不可能逃避斜线。我认为mysql要求用户使用remove_slases或php中的某些东西来执行此操作
答案 0 :(得分: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
的更多信息