gpt4 book ai didi

mysql - 约束名称被忽略

转载 作者:行者123 更新时间:2023-11-28 23:21:53 25 4
gpt4 key购买 nike

我正在努力学习外键约束的概念,并阅读了 manual about使用这些类型的约束。我非常了解这些限制,并且它们按预期工作。然而,手册上说创建约束的语法是 FOREIGN KEY [index_name] (index_col_name, ...) 但是当我运行以下查询时,两个外键约束都有一个完全不同的名称;

CREATE TABLE blog_user (
`blog` INTEGER NOT NULL,
`user` INTEGER NOT NULL,

UNIQUE `blog_user` (`blog`, `user`),

FOREIGN KEY `blog_reference` (`blog`)
REFERENCES `blog` (`id`)
ON UPDATE CASCADE
ON DELETE RESTRICT,

FOREIGN KEY `user_reference` (`user`)
REFERENCES `user` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE
) ENGINE = InnoDB;

约束名称导致 blog_ibfk_1 而不是 blog_referenceuser_ibfk_1 而不是 user_reference。为什么他们有自己的名字,而不是我告诉它应该的名字?

最佳答案

比起使用 CONSTRAINT 关键字来指定 FK 约束,例如

 CONSTRAINT `blog_ibfk_1`  FOREIGN KEY (`blog`)
REFERENCES `blog` (`id`)
ON UPDATE CASCADE
ON DELETE RESTRICT

关于mysql - 约束名称被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41183554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com