This website requires JavaScript.

写delete...的sql语句还能报错?

2020年07月17日 11时46分 字数 737 阅读 24 喜欢(0) 评论(0) 标签 数据库 mysql

就在开发这个博客的时候,做评论功能,我发现我编程十年了,居然写不会一句sql语句。

delete from t_comment t where t.refId = #{refId,jdbcType=VARCHAR}

很简单的一问sql,就是根据引用的id将相关的评论删除。然后mysql很争气的给我报了如下错误:

java.sql.SQLSyntaxErrorException: 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 'where refId = 

后面的我没有截下来。反正就是说有错误。

我把这段sql补全,到navicat执行,它告诉我的意思是,t这个别名命名,是来自于select语句的。

看看正确的写法吧

delete t from t_comment t where t.refId = #{refId,jdbcType=VARCHAR}

delete from t_comment where refId = #{refId,jdbcType=VARCHAR}

我个人觉得第一个能成功,我好理解,但为什么第二个就能执行成功?难道真的是因为这个别名引起的?

后来通过查资料,才发现这个是mysql的版本闹的。我用的是mac的5.7.22 MySQL Community Server (GPL)版本,可能跟我之前用的mysql版本有差别。

赞赏支持

微信赞赏码

支付宝赞赏码

相关推荐

暂无推荐文章

扫码关注”隔壁老易“