前言
将数据从一张表迁移到另外一张表的过程中,通过mysql的concat方法批量生成sql时遇到了一个问题,即进行UPDATE更新操作时如果原表中的字段中包含单引号'或者双引号",那么就会生成不正确的...实践
学生表student中有以下四条数据,现在要把student表中的四条数据按照id更新到用户表user当中,user表的结构同student一样。...1、内容中含有单引号
有单引号的可以用双引号括起来
select concat("update user set name = '",name,"' where id = ",id,";") from...student where id = 1;
2、内容中含有双引号
有双引号的可以用单引号括起来
select concat("update user set name = \"",name,"\" where...(replace(name,"'","\\\'"),"\"","\\\""),"' where id = ",id,";") from student;
得到的结果是:
update user set