当前使用版本(必填,否则不予处理)

3.5.6

该问题是如何引起的?(确定最新版也有问题再提!!!)

我们使用的mysql, 解析update ignore table语句, 会误把ignore关键字解析成表名

language=java String sql = "update ignore student set name = 'abc' where id = 4"; TableNameParser tableNameParser = new TableNameParser(sql); System.out.println(tableNameParser.tables()); 输出的结果为[ignore] , 但是这个语句的实际更新表名为 student

重现步骤(如果有就写完整)

实现一个自定义TableNameHandler, 并打印dynamicTableName方法中的tableName参数

执行任意一个update ignore table语句

观察tableName参数值是否为ignore

报错信息

Table 'ignore' doesn't exist

Comment From: nieqiurong

用 3.5.7-SNAPSHOT 试试

Comment From: weixiao800

用 3.5.7-SNAPSHOT 试试

验证了, 没有问题