如何在postgres中删除约束?

use*_*386 12 sql postgresql

我在sql中有这个查询:

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id('[FK_states_list]') AND OBJECTPROPERTY(id, 'IsForeignKey') = 1)
ALTER TABLE [custom_table] DROP CONSTRAINT [FK_states_list] ;
Run Code Online (Sandbox Code Playgroud)

我如何在postgres中编写此查询?提前致谢

a_h*_*ame 21

似乎你想要删除约束,只有它存在.

在Postgres中你可以使用:

ALTER TABLE custom_table 
  DROP CONSTRAINT IF EXISTS fk_states_list;
Run Code Online (Sandbox Code Playgroud)

您还可以确保该表存在:

ALTER TABLE IF EXISTS custom_table 
  DROP CONSTRAINT IF EXISTS fk_states_list;
Run Code Online (Sandbox Code Playgroud)

  • 这就是为什么 PostgreSQL 是最好的。MySQL 中不能执行 IF EXISTS 操作。多么悲伤的事情啊。 (8认同)