为了账号安全,请及时绑定邮箱和手机立即绑定

删除语法不是:delete from tbl_name where where_condition

为什么成为:delete tbl_name from tbl_name....了

正在回答

2 回答

单表删除的语法是

DELETE  FROM tbl_name  [WHERE where_definition] [ORDER BY ...]  [LIMIT row_count]

多表的语法是

DELETE  tbl_name[.*] [, tbl_name[.*] ...] FROM table_references [WHERE where_definition]

在你的代码快照里面,delete t1 from tdb_goods as t1 left join ( select ...)...这个是多表删除的语句,

所以这个地方是没有问题的。在视频播放页的源代码下载区有一个MySQL的学习手册,里面13.2.1节对DELETE语法有比较详细的说明,建议下载下来看看。

3 回复 有任何疑惑可以回复我~

确实看了手册后,理解了。里面的这句话有助于理解:tbl_name中有些行满足where_fefinition给定的条件。DELETE用于删除这些行。

注:不要被里面的连接绕晕了,子查询只是找出满足条件的记录作为子表,在自身做左连接(内连接也一样),再通过

ON设定连接条件 WHERE做过滤

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程
意见反馈 帮助中心 APP下载
官方微信