sql语句作为字段保存到mysql数据库中无法通过的问题
2017-09-08 11:32
483 查看
前言:在项目编程过程中,遇到这么一个问题。
需要将 sql语句 单独作为一个字段保存到mysql数据库中。sql在处理sql语句时会出错。
java代码
其中,sqlword是我要保存的sql语句
执行时,遇到下面错误。
下面是我们控制台输出的sql
可以看到,其中的’select * from citycode where id =’1” 是不符合sql语法规则的。
解决方法:
对sql语句进行处理,将其中的’(单引号)用”(双引号)替换,这样sql在读取sql语句时,会将”转义成sql识别的’。
这是控制台输出解决后的sql
而且保存到数据库后的字段仍然是
格式
需要将 sql语句 单独作为一个字段保存到mysql数据库中。sql在处理sql语句时会出错。
java代码
String myid="111"; String sqlword="select * from citycode where id ='1'"; String sql="insert into dsm03 values('"+myid+"','"+sqlword+"')"; jdbcTemplate.execute(sql);
其中,sqlword是我要保存的sql语句
执行时,遇到下面错误。
下面是我们控制台输出的sql
insert into dsm03 values('111','select * from citycode where id ='1'')
可以看到,其中的’select * from citycode where id =’1” 是不符合sql语法规则的。
解决方法:
对sql语句进行处理,将其中的’(单引号)用”(双引号)替换,这样sql在读取sql语句时,会将”转义成sql识别的’。
String myid="111"; String sqlword="select * from citycode where id ='1'"; String newsqlword=sqlword.replace("'", "\"");//对sql语句进行转义,这样sql在读取sql语句时,会将"转义成sql识别的' String sql="insert into dsm03 values('"+myid+"','"+newsqlword+"')"; jdbcTemplate.execute(sql);
这是控制台输出解决后的sql
insert into dsm03 values('111','select * from citycode where id ="1"')
而且保存到数据库后的字段仍然是
select * from citycode where id ='1'
格式
相关文章推荐
- DataTable实现列位置交换,用于SQL语句无法解决字段页面显示顺序问题
- DataTable实现列位置交换,用于SQL语句无法解决字段页面显示顺序问题
- 通过sql语句将blob里的char取出来转成数字保存在其它字段
- DataTable实现列位置交换,用于SQL语句无法解决字段页面显示顺序问题
- 直接通过sql语句,将blob里的char取出来转成数字保存在其它字段
- 通过sql语句将blob里的char取出来转成数字保存在其它字段
- Mysql数据库中PreparedStatement 在使用sql语句无法查询中文的问题
- sql语句问题 通过联立两个表更新其中一个表的字段
- sql语句问题 通过联立两个表更新其中一个表的字段
- SQL 语句 通过外联表更新一个字段
- 通过SQL删除SDE图层后,无法再新建相同图层名的问题
- SQL Server 2008 中SQL查询语句中字段值不区分大小写问题处理
- SQL语句order by两个字段同时排序问题
- 解决SQL语句中含有中文字符无法查询问题
- mybaites 通过字段自动生成sql 语句
- Oracle clob类型的字段作为查询条件的sql语句写法
- 解决PLSQL导入表sql语句错误问题:ORA-01119:创建数据库文件时失败 ORA-27040::文件创建错误,无法创建文件
- 黄聪:wordpress向mysql字段中保存html代码(使用add_option()方法),然后无法显示出问题
- 数据表中有字段time(类型为varchar),如何通过sql语句找出这个字段里力离当前最近的一个日期
- ORACLE中通过SQL语句(alter table)来增加、删除、修改字段