我有两个表—特征和标签.在tags表中,我有id_banner、tag_list、features_id列.并在功能栏功能.这些表是由特性列(features—mother,tag—son)外部绑定的.我有请求更新标签,和功能id_banner,其中功能可以:等于可用或不同.需要帮助使postgr代码请求

我试过这个代码:

ALTER TABLE tags
DROP CONSTRAINT tags_features_id_fkey;

UPDATE tags 
SET features_id = $2
  , tag_list = $3 
WHERE id_banner = $1;

ALTER TABLE tags
  ADD CONSTRAINT tags_features_id_fkey 
  FOREIGN KEY (features_id) REFERENCES features(features) 
  ON DELETE CASCADE;

错误:

不能将多个命令插入到一个准备好的语句中

推荐答案

在PostgreSQL中,你不能在一个准备好的语句中直接执行多个命令(例如ALTER TABLEUPDATE),因为它们是为单个SQL命令而设计的.

如果您需要基于id_banner更新标签和更新特性,您可能需要将逻辑分成不同的步骤.

Postgresql相关问答推荐

从子查询中的排序结果中获取前X行

我无法在过程中提交

PostgreSQL plpgsql函数问题

如何将 SELECT 查询的结果插入表中?

PL/pgSQL中的IP递增函数

配置:错误:C 编译器无法在 Ubuntu 中创建可执行文件

为什么在 PostgreSQL 中忽略查询超时?

查找列中的数据是否满足sql中的数据类型条件

如何在 psycopg2 中使用服务器端游标

PostgreSQL INSERT 插入一个枚举数组

在 Postgresql 中获取星期几

PostgreSQL 不区分大小写的 SELECT 数组

如何查询存储在数组中的 Rails ActiveRecord 数据

如果 Column1 不为空,则按 Column1 排序,否则按 Column2 排序

为什么 PostgreSQL 数组访问在 C 中比在 PL/pgSQL 中快得多?

仅当 PostgreSQL 表不存在时才添加主键

带有 WITH 子句的查询时出现 Postgresmissing FROM-clause entry错误

处理用户发送的string contains null byte

PostgreSQL - 作为表名的动态值

使用python将数据从csv复制到postgresql