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

Create table without checking foreign key on unexisting table

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

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

我正在 Azure 数据库中使用 SQL。

谢谢。

最简单的方法是先创建所有表,然后使用 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