为什么看别人的delete join好使我的不行
数据库是sqlserver
【以下回答由 GPT 生成】
可能的原因和解决方案:
在SQL Server中,DELETE JOIN的语法是不被支持的。可能的原因是您参考的代码使用的是其他数据库系统(如MySQL)支持的语法。
解决此问题的一种方法是使用子查询和DELETE语句分别删除相关表中的数据。以下是一个可能的解决方案:
DELETE FROM equipment_check_record
WHERE equipment_id IN
(SELECT equipment_info.id
FROM equipment_info
JOIN info ON equipment_info.info_id = info.id
WHERE info.valid = 51);
DELETE FROM equipment_info
WHERE info_id IN
(SELECT id
FROM info
WHERE valid = 51);
在这个解决方案中,我们首先使用子查询选择要删除的equipment_check_record表中的equipment_id。然后,我们在删除equipment_check_record表之后删除equipment_info表中与已删除信息相关联的行。
请注意,具体的解决方案可能会根据您的数据库结构和需求略有不同,上述解决方案仅作为参考。
你看别人的是mysql吧?
SqlServer 的delete 一次只能删除一个表的数据
DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id