sql语句如下:
update CardNum SET userMembershipId = 2,userMembershipNo = 'V2'updated = 15397644961000 where cardNum ='666'
updated字段前面无意间漏了一个逗号,经过如下parser后:
MySqlStatementParser parser = new MySqlStatementParser(sql);
SQLStatement statement = parser.parseStatement();
没有报错,statement语句变成了:
UPDATE CardNum
SET userMembershipId = 2, userMembershipNo = 'V2'
后边updated和where没有了,导致全表被更。。。
2条答案
按热度按时间mw3dktmi1#
用的那个版本的?我测了一下,解析时就抛异常了。
b1zrtrql2#
@zhaiyaobao
项目用的1.1.5,昨天刚把master拉下来,也是一样。你能够报错?你用的哪个版本?
我又试了一下master,没报错啊。。
代码:
`
public class TempTest extends TestCase {
`
输出结果:
UPDATE CardNum SET userMembershipId = 2, userMembershipNo = 'V2'
后面被截断了,直接拿着去执行了