MySQL通过一个查询从2个表中删除
我需要根据一个表中的查询从两个表中删除 表:实体 guid:整数 子类型:整数 创建的时间:整数(Unix时间戳) 表:对象和实体 guid:整数 标题:正文 对象\实体中的guid是实体的外键。guid 我需要根据subtype=17删除两个表中的相关记录,并且实体中创建的时间大于14天(因此也要删除相关对象\u实体) 我非常不擅长SQL,通过查看示例,我创建了以下内容:MySQL通过一个查询从2个表中删除,mysql,sql,Mysql,Sql,我需要根据一个表中的查询从两个表中删除 表:实体 guid:整数 子类型:整数 创建的时间:整数(Unix时间戳) 表:对象和实体 guid:整数 标题:正文 对象\实体中的guid是实体的外键。guid 我需要根据subtype=17删除两个表中的相关记录,并且实体中创建的时间大于14天(因此也要删除相关对象\u实体) 我非常不擅长SQL,通过查看示例,我创建了以下内容: DELETE entities, objects_entity FROM entities a INNER JOIN ob
DELETE entities, objects_entity FROM entities a INNER JOIN objects_entity b on b.guid = a.guid AND a.subtype =17 AND a.time_created < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 14 DAY))
这是我无法理解的,因为与上面相同的select语句正确地工作。。。。该表存在
你知道我的语法有什么问题吗?非常感谢。您需要更换
DELETE entities, objects_entity
与
因为您正在使用a
和b
为表添加别名
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
或
可能重复的
DELETE a, b
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]