可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

ALTER TABLE .. ADD FOREIGN KEY

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

所有约束类型都可以使用 ALTER TABLE 语句添加。 这包括 FOREIGN KEY 约束。

// Adding an unnamed constraint to a table
create.alterTable("table").add(foreignKey("author_id").references("author")).execute();

// Adding a named constraint to a table
create.alterTable("table").add(constraint("fk").foreignKey("author_id").references("author")).execute();
建议始终为约束提供一个名称,以简化模式管理。 另请参阅本手册的这一部分

方言支持

此示例使用 jOOQ

alterTable("t").add(constraint("pk").foreignKey("author_id").references("author"))

翻译成以下特定方言的表达式

ASE、Access、Aurora MySQL、Aurora Postgres、CockroachDB、DB2、Databricks、Derby、Exasol、Firebird、H2、HSQLDB、Hana、MariaDB、MemSQL、MySQL、Oracle、Postgres、Redshift、SQLServer、Snowflake、Sybase、Teradata、Vertica、YugabyteDB

ALTER TABLE t ADD CONSTRAINT pk FOREIGN KEY (author_id) REFERENCES author

BigQuery、ClickHouse、SQLDataWarehouse

ALTER TABLE t ADD CONSTRAINT pk FOREIGN KEY (author_id) REFERENCES author NOT ENFORCED

Informix

ALTER TABLE t ADD CONSTRAINT FOREIGN KEY (author_id) REFERENCES author CONSTRAINT pk

DuckDB、SQLite、Trino

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo