长乐歌 发表于 2023-9-14 12:22:36

尝试在PostgreSQL中修改约束

我检查了Oracle提供的文档找到了一种修改约束的方法,而无需删除表格。问题是修改时出错,因为无法识别关键字。
使用PostgreSQL的EMS SQL Manager。
Alter table public.public_insurer_credit MODIFY CONSTRAINT public_insurer_credit_fk1    deferrable,initially deferred;我可以用以下方法删除约束来解决这个问题:
ALTER TABLE "public"."public_insurer_credit"DROP CONSTRAINT "public_insurer_credit_fk1" RESTRICT;ALTER TABLE "public"."public_insurer_credit"ADD CONSTRAINT "public_insurer_credit_fk1" FOREIGN KEY ("branch_id","order_id","public_insurer_id")    REFERENCES "public"."order_public_insurer"("branch_id","order_id","public_insurer_id")    ON UPDATE CASCADE    ON DELETE NO ACTION    DEFERRABLE   INITIALLY DEFERRED;               
    解决方案:                                                               
                                                                根据正确的手册(由PostgreSQL提供,而不    由Oracle提供),ALTER TABLE句子中没有可用的修改约束:
这是正确手册的链接:
http://www.postgresql.org/docs/current/static/sql-
altertable.html
页: [1]
查看完整版本: 尝试在PostgreSQL中修改约束