postgresql - 限制 Postgres 删除
问题描述
带有安全 LIMIT 的简单 DELETE 会引发语法错误:
DELETE FROM system."products" LIMIT 1
错误:“限制”处的语法错误
SQL 状态:42601
如何限制要删除的行数?
(PostgresSQL 9.6 版)
解决方案
您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
在我的示例中命名)时才有效!
推荐阅读
- python - 如何在 Postgres bytea 数组中附加一个字节
- postgresql - Postgres leftJoinAndMapMany 使用 TypeORM 查询(属性未定义)
- azure-devops - 如何使用 Windows 最新的 VMImage for Azure 管道构建具有 Microsoft Office 依赖项的项目?
- php - 无法显示获取数据
- c# - 使用 C# 将数据传递给 ASP.NET MVC 中的控制器
- reactjs - 具有内置数据获取功能的依赖组件
- java - 我可以在一个循环中使用多个 for 循环吗?
- javascript - Discord.js 获取机器人所在的所有服务器的服务器名称
- maven - 如何在 opendaylight 中添加功能
- javascript - 如何在 React 中更新状态(从之前的值)的“好”方式