我通过将几列移动到它们自己的表并使用外键来规范化数据库。我正在尝试更新应用程序中的查询以尽可能使用联接。在删除数据的查询中,我不希望查找键值,而只使用连接运行删除。我发现唯一可行的方法是添加USING
到查询中-但这破坏了我对LIMIT
子句的使用。
DELETE FROM prism_data
USING prism_data
INNER JOIN prism_players p ON p.player_id = prism_data.player_id
INNER JOIN prism_actions a ON a.action_id = prism_data.action_id
WHERE (a.action = 'water-flow')
LIMIT 5000; <--- Was ok before the using/joins were added
我正在尝试分批删除 5,000 个。如何修改查询以使限制仍然有效?