Mysql delete语句报错 check the manual that corresponds to your MySQL server version for the right syntax

今天在开发中遇到了一个小问题,想要删除时间过期的数据,sql如下:

delete from company_url a where a.exptime <= curdate()

表面看上去是没问题的,然鹅执行之后报错了.....

image.png

在同事的提醒下,得知是加了别名的问题,然后我去掉别名发现确实可以正确执行,可是我很好奇为什么不能加别名,又经过一番百度后才发现是在mysql中detele语法有所不一样:

delete from

where .

所以正确的写法是:

delete a from company_url a where a.exptime <= curdate()

可参考官网上对DELETE语句语法的介绍:DELETE语句语法

image.png

你可能感兴趣的:(Mysql delete语句报错 check the manual that corresponds to your MySQL server version for the right syntax)