
在 mapper.xml 中的 dynamicWhere 动态查询中使用了表别名,Delete 语句引用了动态查询,如下:
<delete id="delete" parameterType="map"> <![CDATA[ delete from `physician` x ]]> <include refid="dynamicWhere"/> </delete>
当输入删除条件后,得到的删除语句类似如下:
delete from `physician` x WHERE x.id = 12345
但这样的语句存在语法问题:
Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'x WHERE x.id = 12345' at line 1
通过查询资料发现,mysql的delete的语法有些特殊,如下:
delete x from `physician` x WHERE x.id = 12345
通过比较之后可以看出,delete 语句在用别名的时候要在delete后边多写一个别名。
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff}