记录一个小小的问题,2019年遇到一次,2023年了我还遇到并且一脸懵逼,我真该死啊
原始SQL如下:DELETE FROM tablename t WHERE t.id = #{id}
此sql在mysql8.0以上运行正常,mysql5.7运行错误
原因是mysql5.7中语法对别名要求比较严格,需要在WHERE子句中重新声明别名。
改进方法:DELETE t FROM tablename t WHERE t.id = #{id}
或者 DELETE FROM tablename WHERE id = #{id}
are you ok?