[转]mysql delete 使用别名 语法
原文地址:https://www.cnblogs.com/wuyun-blog/p/6178303.html
今天删除数据,写了这么条sql语句,
DELETE from sys_menus s WHERE s.MENU_ID in (86,87,88);
结果报错。。
[Err] 1064 - 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 's WHERE s.MENU_ID in (86,87,88)' at line 1
后来一查,mysql使用别名有固定的语法。
当然不用也行:DELETE from sys_menus WHERE MENU_ID in (86,87,88);
用别名的:DELETE s from sys_menus s WHERE s.MENU_ID in (86,87,88);
转的!原博文网址:http://blog.csdn.net/chs_jdmdr/article/details/46708917
mysql delete 语句中使用别名 alias
delete <alias> from <table> <alias> where <alias>.<field>...
别名必需在 delete之后出一次。
多表间删除语法:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Or:
DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
LEFT JOIN
:
DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步