在 MySQL 中执行以下操作:
alter table TABLE_A
ADD CONSTRAINT fk_id (id) REFERENCES TABLE_B(id)
ON DELETE CASCADE ON UPDATE CASCADE;
Run Code Online (Sandbox Code Playgroud)
做同样的事
alter table TABLE_A
ADD FOREIGN KEY (id) REFERENCES TABLE_B(id);
Run Code Online (Sandbox Code Playgroud)
除了它还在关系上添加了 BTREE 索引?还是它们相互补充?
两个查询都或多或少是相同的,虽然根据手册中FOREIGN KEY应存在于这两个查询。
Run Code Online (Sandbox Code Playgroud)[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name (index_col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option]
这样做的好处CONSTRAINT [symbol]是您可以命名约束而不是 MySQL 为您生成名称;此符号在数据库中必须是唯一的,并且可用于以后删除约束。
创建后查看表结构可以看到生成的符号名:
SHOW CREATE TABLE TABLE_A;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |