带有检查选项 Postgresql

问题描述

我有一个用 T-sql (sql Server) 编写的 ALTER TABLE 语句:

ALTER TABLE myTable WITH CHECK ADD  CONSTRAINT [FK_myTable_myColumn] FOREIGN KEY(myColumn) REFERENCES otherTable (Column)

如果我想在 Postgresql 中翻译这个语句,我该怎么做?注意WITH CHECK ADD CONSTRAINT

解决方法

你需要

  • remove WITH CHECK - 我不知道这应该做什么,但是你不能在 Postgres 中将“检查约束”与外键约束一起使用
  • 使用符合标准的标识符(不带方括号)
ALTER TABLE my_table 
   ADD  CONSTRAINT fk_mytable_mycolumn 
   FOREIGN KEY(my_column) REFERENCES other_table (column)