sql - 更新同一表中的特定列并添加限制 - PostgreSQL
问题描述
我想通过转换其以前的值来更新同一表中列的值,但我想首先根据其创建日期使用前 10 个数据对其进行测试。
虽然我收到了这个错误
ERROR: syntax error at end of input
LINE 6: limit 10
这是我的示例代码:
UPDATE posts p1
SET cooked = (select entity2char(strip_tags(p2.cooked))
FROM posts p2
WHERE p1.id = p2.id
ORDER BY p2.created_at ASC
LIMIT 10
任何可以使这项工作的语法?
解决方案
嗯。. . 我不明白你为什么使用自加入。如果只想删除前 10 个实体,可以使用:
UPDATE posts p
SET cooked = entity2char(strip_tags(p.cooked))
WHERE p.id IN (SELECT p2.id
FROM posts p2
ORDER BY p2.created_at ASC
LIMIT 10
);
推荐阅读
- python - 熊猫,根据具有某些值的先前行中的值创建新列
- ruby-on-rails - Rails 5.2 API - 返回 JSON 中的枚举值
- php - PHP和表单在同一页面上
- python - 超图赋值?
- ios - 自定义标签栏的更多按钮
- android - 非常小的 FPS 范围 - camera2 API
- python - 将数字传递给数学环境绘图标签
- user-interface - 限制 Flutter 中 Container 的最大宽度
- python - 没有名为'backend.settings'的模块调试pycharm
- ruby-on-rails - 服务器回复默认调试响应而不是引发的异常响应