我正在尝试将一些旧的MySQL查询移植到PostgreSQL,但是我遇到了麻烦:
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL不允许在其删除语法中进行排序或限制,并且该表没有主键,因此我不能使用子查询。另外,我想保留查询完全删除给定数字或记录的行为-例如,如果表包含30行,但它们都具有相同的时间戳,我仍然要删除10行,尽管没关系其中10。
所以; 如何在PostgreSQL中通过排序删除固定数量的行?
编辑:没有主键意味着没有log_id
列或类似。啊,遗留系统的乐趣!
那是我最初的方法,但是其他要求阻止了它。
—
2011年
alter table foo add column id serial primary key
。