让我们假设我们有一个表,其行仅由其位置标识,并且没有其他特定的差异(作为主键,id,时间戳等)和 因为MySQL'DELETE'语法不允许LIMIT如何成功删除这样一个表中的行。
像:
DELETE FROM `table` LIMIT 49,1
有可能:
SELECT * FROM `table` LIMIT 49,1
我事先感谢你的善意,以帮助解答。
答案 0 :(得分:1)
表是集合;行没有位置。
答案 1 :(得分:1)
这不是一个有用的功能,因为无法保证表中的行顺序。在加载时,由于MySQL的行为,表格总是会以不同的顺序出现。
您可以尝试以下方法,但如上所述,它不能保证准确
DELETE FROM `table`
WHERE `col1` IN (SELECT `col1` FROM `table` LIMIT 49,1)
AND `col2` IN (SELECT `col2` FROM `table` LIMIT 49,1)
AND ...
LIMIT 1;