为什么这个MySQL Delete命令出错?

时间:2016-04-28 06:46:59

标签: mysql

我正在尝试运行这个MYSQL命令:

DELETE FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL

它返回此错误:

  

1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'h LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id WHERE   uh.user_hotel_id我在第1行

命令似乎不言自明,所以不确定我的错误。有什么想法吗?

6 个答案:

答案 0 :(得分:2)

您缺少table_name要删除的那些

DELETE h FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL

答案 1 :(得分:1)

您需要提供要删除的表名称,如

DELETE h FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL

答案 2 :(得分:1)

DELETE h FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL

答案 3 :(得分:1)

#缺少什么删除。仅在没有连接

的情况下从表工作中删除
DELETE T1, T2
FROM T1
INNER JOIN T2 ON T1.key = T2.key
WHERE condition

答案 4 :(得分:1)

在JOIN的情况下,您需要指定要应用DELETE的表名。 请参阅此link

您需要编写如下的MySQl查询:

DELETE h,uh FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL

答案 5 :(得分:0)

查询:

DELETE column_name(which you want to delete) FROM hotel h
LEFT JOIN user_hotel uh ON h.hotel_id = uh.hotel_id
WHERE uh.user_hotel_id IS NULL
相关问题