首页 > 解决方案 > 限制 Postgres 删除

问题描述

带有安全 LIMIT 的简单 DELETE 会引发语法错误:

DELETE FROM system."products" LIMIT 1

错误:“限制”处的语法错误

SQL 状态:42601

如何限制要删除的行数?

(PostgresSQL 9.6 版)

标签: postgresqllimitsql-delete

解决方案


LIMIT只能在SELECT语句中使用。

尝试这个:

DELETE FROM system."products" WHERE id IN (SELECT id FROM system."products" LIMIT 1)

否则你可以有这样的东西

DELETE FROM system."products" WHERE id bewteen ? and ?

显然,这只有在您的表中有一个唯一列(id在我的示例中命名)时才有效!


推荐阅读