微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PostgreSQL中没有任何条件的情况下从表中删除前几条记录?

我想从我的表中删除前500条记录,没有任何条件.

表定义如下:

CREATE TABLE txn_log
(
  txn_log_timestamp timestamp without time zone NOT NULL,txn_log_pgm_id character(6)
)
WITH (OIDS=FALSE);

我这里没有任何主键.我试图删除使用

DELETE FROM txn_log LIMIT 500

但它抛出错误

ERROR: Syntax error at or near “LIMIT” LINE 1: DELETE FROM TXN_LOG
LIMIT 5000
^

********** Error **********

ERROR: Syntax error at or near “LIMIT”

有人可以建议我这样做吗?

尝试使用LIMIT准备子查询,如下所示
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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐