批量更新报错#Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the m

错误:
mybatis plus foreach 批量插入没问题 改成update,一直报错,sql拷贝出来单独执行又没问题
原因:
insert语句支持批量,可以写在一条语句:

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...),(value1,value2,value3,...);

update 不支持批量,循环批量的时候对应多个语句

update table set c1=v1;
update table set c1=v2;
update table set c1=v3;
.
.
.
update table set c1=v...;

mybatis 默认不支持一次执行多条语句(多个分号)
解决:
数据库连接增加allowMultiQueries=true参数

allowMultiQueries=true作用:
1.可以在sql语句后携带分号,实现多语句执行
2.可以执行批处理,同时发出多个SQL语句

おすすめ

転載: blog.csdn.net/qq_36434219/article/details/120591597
おすすめ