首页 > 代码库 > 拼接sql语句中单引号和双引号的问题
拼接sql语句中单引号和双引号的问题
mysql中单双引号使用
mysql中使用基本的DML类型的sql语句,“”和‘’是default string label symbols. 但是在实际情况中,经常出现下面的情况:
一:查询情况
SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='"祛魅"与"返魅"';这种情况下,book_name对应的字符串是没有问题的,sql语句没有语法问题。但是看下面一条语句:
sql中,insert into yourTable(f1,f2) values(100,‘abc‘)
SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='LET'S GO!马小波罗';
报异常:You have an error in your SQL syntax;
到这,大家可能会说,你把‘LET‘S GO!马小波罗‘ 中外围的两个单引号换成双引号不就搞定了。可现实往往是按照墨菲定律向着最坏的情况发展。很多情况下,我们都不知道传入的增、删、改、查的字符串中,是否含有",‘,或者是两者同时含有,所以不能简单的遇到单引号替换成双引号,遇到双引号替换成单引号。这就需要用到sql的转义字符了。
二:插入情况
insert into yourTable(f1,f2) values(100,‘ab‘‘c‘)表示插入
新记录f2字段为ab‘c
使用函数replace可以实现这个功能:replace(yourStr,"‘","‘‘")
拼接sql语句中单引号和双引号的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。