创建表而不检查未存在的表上的外键

时间:2017-11-20 17:15:03

标签: foreign-keys azure-sql-database create-table

我正在调整一个非常大的查询(MySQL到SQL),它会创建大量的表和关系。问题是它总是在添加引用该表的外键之前检查表是否存在。

所以我必须重新排序查询以避免这个问题,我的问题是,是否有可以关闭该检查的指令,因此它会创建表并添加引用而不会停止查询它遇到的每一个错误。

我在Azure数据库中使用SQL。

谢谢。

1 个答案:

答案 0 :(得分:3)

最简单的方法是先创建所有表,然后使用ALTER TABLE添加约束。

例如:

CREATE TABLE a(id INT PRIMARY KEY IDENTITY(1,1), b_id INT, c CHAR(10));
CREATE TABLE b(id INT PRIMARY KEY IDENTITY(1,1), z INT);

ALTER TABLE a ADD CONSTRAINT FK_a_b_id_b FOREIGN KEY (b_id) REFERENCES b(id);

<强> Rextester Demo