mysql 中有没有将特殊符转义的函数?

nicle_yang 2003-09-10 10:41:59
在往数据库里写数据的时候, 有时要写入的字符串中包含了一些特殊的字符,如 ',",/,%等,不知道mysql本身有没有这种转义的函数,不是那些api.
...全文
519 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuixin13 2003-09-15
  • 打赏
  • 举报
回复
嘻嘻,
是的,
更详细地字符转义方式请查看

http://shuixin13.jahee.com/gb2312/mysql/06-1.html#Literals
lxf_1976 2003-09-15
  • 打赏
  • 举报
回复
呵呵,犬犬,又教了我一招!

不过,SELECT QUOTE("Don"t");还是会出现问题,因此在需要转义的字符串是未知的情况下,好像还是无法完全用QUOTE解决,是吗?
alamb 2003-09-15
  • 打赏
  • 举报
回复
总觉得QUOTE主要还是用于转换数据库里面查询出来的值,录入数据的时候派不了太大用场,还是得用escape,比如说输入的串里面含有结束符(\0),QUOTE 就无法处理了。
alamb 2003-09-14
  • 打赏
  • 举报
回复
mysql的C api和php里面都有mysql_escape_string函数,这对于录入二进制数据是很重要的。
shuixin13 2003-09-13
  • 打赏
  • 举报
回复 1
QUOTE(str)
引用一个字符串,并返回一个结果,该结果可作为一个适当转义过的数据值在一个 SQL 语句中使用。字符串被单引号包围着返回,并且在该字符串中每个单引号(“'”)、反斜线符号(“\”)、ASCII NUL 和 Control-Z 出现的地方,在该字符之前均被加上了一个反斜线。如果参数是 NULL,那么结果值是一个没有单引号包围的单词 “NULL”。 QUOTE 函数在 MySQL 4.0.3 中被加入。

mysql> SELECT QUOTE("Don't");
-> 'Don\'t!'
mysql> SELECT QUOTE(NULL);
-> NULL

lxf_1976 2003-09-10
  • 打赏
  • 举报
回复
没有的!

不过我的理解是如果手工输入SQL语句,应该知道哪些字符需要转义,也就是说需要手工添加转义符!
ezhou 2003-09-10
  • 打赏
  • 举报
回复
有些语言,比如php,就提供了一些函数,使你的查询语句符合你的要求,比如mysql_escape_string

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧