如何在PostgreSQL中没有任何条件的情况下从表中删除前几条记录? [英] How to delete first few records from a table without any criteria in PostgreSQL?
本文介绍了如何在PostgreSQL中没有任何条件的情况下从表中删除前几条记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想无条件地从我的表中删除前 500 条记录.
I want to delete first 500 records from my table without any condition.
表定义如下:
CREATE TABLE txn_log
(
txn_log_timestamp timestamp without time zone NOT NULL,
txn_log_pgm_id character(6)
)
WITH (OIDS=FALSE);
我这里没有任何主键.我试图删除使用
I don't have any primary key here. I tried to delete using
DELETE FROM txn_log LIMIT 500
但它抛出错误:
错误:LIMIT"第 1 行或附近的语法错误:DELETE FROM TXN_LOG限制 5000^
ERROR: syntax error at or near "LIMIT" LINE 1: DELETE FROM TXN_LOG LIMIT 5000 ^
********** 错误**********
********** Error **********
错误:LIMIT"处或附近的语法错误
ERROR: syntax error at or near "LIMIT"
有人可以建议我这样做吗?
Can someone suggest me a way to do this?
推荐答案
尝试使用 LIMIT
准备子查询,如下所示
Try to prepare subquery with LIMIT
as below
DELETE FROM txn_log
WHERE txn_log_pgm_id IN (SELECT txn_log_pgm_id
FROM txn_log
ORDER BY txn_log_timestamp asc
LIMIT 500)
这篇关于如何在PostgreSQL中没有任何条件的情况下从表中删除前几条记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文