【发布时间】:2014-06-17 22:59:24
【问题描述】:
MYSQL 有内置的转义机制吗?
我正在运行一些脚本并将值插入 MYSQL 数据库。监视脚本时,一切似乎都正常,打印输出显示一切正常,但是在检查数据库时,一些值以一种奇怪的方式插入,一些字母被替换为控制字符或分隔符(我正在做 set basename=!var:~7! 以获得要插入的值会出现问题)。
具体来说,小写 b 被替换为 BS char,小写 r 被替换。
由于脚本是 Windows 批处理文件,我想知道是否可以通过查询强制转义这些字符(如 PHP 中的 mysql_real_escape_string,但直接在 MYSQL 中)或设置一些选项服务器端以便数据库处理这些情况。
有什么想法吗?
【问题讨论】:
-
你能发布一个这样被破坏的字符串的例子吗?
-
例如
set var = e:\Data\bqvr然后set basename=!var:~7!; echo !basename!控制台输出:bqvrMYSQL 条目:BSqbr。在这种情况下,BS 是一个字符图标。
标签: mysql batch-file escaping windows-server-2008