postgresql - 限制 Postgres 删除

标签 postgresql limit sql-delete

<分区>

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

DELETE FROM system."products" LIMIT 1

ERROR: Syntax ERROR at "LIMIT"

SQL state: 42601

如何限制要删除的行数?

(PostgresSQL 版本 9.6)

最佳答案

您只能在 SELECT 语句中使用 LIMIT

试试这个:

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

否则你可以有这样的东西

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

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

关于postgresql - 限制 Postgres 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303640/

相关文章:

python - python xgoogle 库的问题。如何增加 10 个结果的限制?

mysql - 如何让子删除查询更快?

sql - 删除没有关联的记录

PostgreSQL - 根据其他表中的值删除表中的行

python - postgresql(aws redshift) 错误1204 String length exceeds DDL length

postgresql - 如何将示例数据库导入 postgres?

mysql - SQL : Limit and Randomize results in join

php - Symfony 3.4,FOSUserBundle : SQL Errors with postgresql

python - sqlalchemy手动创建数据库表

mysql SELECT 返回每个匹配项之一