我正在尝试将一些旧的 MySQL 查询移植到 PostgreSQL,但是我遇到了这个问题:
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL 不允许在其删除语法中进行排序或限制,而且表没有主键,所以我不能使用子查询。此外,我想保留查询删除给定数字或记录的 没错的行为——例如,如果表包含30行,但它们都有相同的时间戳,我仍然想删除10,尽管哪10并不重要。
那么,如何在 PostgreSQL 中通过排序删除固定数量的行呢?
编辑: 没有主键意味着没有 log_id
列或类似的列。啊,遗留系统的乐趣!