首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

求教上列sql语句

2012-09-09 
求教下列sql语句delete users as a from users as a,(select min(id) , name from users group by name ha

求教下列sql语句
delete users as a from users as a,(
  select min(id) , name from users group by name having count(name) > 1
  ) as b
  where a.name = b.name and a.id <> b.id;
为什么delete后面要加users as a,如果不加就出错呢?

[解决办法]
MYSQL语法 要求

Multiple-table syntax: 

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]



[解决办法]
不加强users as a
那变成 
delete from users as a,(
select min(id) , name from users group by name having count(name) > 1
) as b

则MYSQL从哪张表删除记录吗? 显然MYSQL会试图从两张表同时删除记录,而你的B表显示不是一个可以删除记录的表。

热点排行