sql 语句作为字段保存到mysql 数据库中⽆法通过的问题
前⾔:在项⽬编程过程中,遇到这么⼀个问题。
需要将 sql语句 单独作为⼀个字段保存到mysql数据库中。sql在处理sql语句时会出错。
java代码
其中,sqlword是我要保存的sql语句
执⾏时,遇到下⾯错误。
sql语句替换表中内容
下⾯是我们控制台输出的sql
可以看到,其中的’select * from citycode where id =’1” 是不符合sql语法规则的。
解决⽅法:
对sql语句进⾏处理,将其中的’(单引号)⽤”(双引号)替换,这样sql在读取sql语句时,会将”转义成sql识别的’。
这是控制台输出解决后的sql
⽽且保存到数据库后的字段仍然是格式String myid="111";
String sqlword="select  * from  citycode where  id ='1'";
String sql="insert  into  dsm03 values ('"+myid+"','"+sqlword+"')";ute(sql);
insert  into  dsm03 values ('111','select * from citycode where id ='1'')
String myid="111";
String sqlword="select * from citycode where id ='1'";
String place("'", "\"");//对sql 语句进⾏转义,这样sql 在读取sql 语句时,会将"转义成sql 识别的'            String sql="insert into dsm03 values('"+myid+"','"+newsqlword+"')";
insert  into  dsm03 values ('111','select * from citycode where id ="1"')
select  * from  citycode where  id ='1'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。