微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL同时复合主键和外键

如何解决MySQL同时复合主键和外键

我正在尝试创建一个关于烹饪的 Web 应用程序,但在创建我的 MysqL 数据库时出现了奇怪的行为。我有以下表格:朋友和用户,描述如下

CREATE TABLE IF NOT EXISTS user (
  user_id int NOT NULL AUTO_INCREMENT PRIMARY KEY,username VARCHAR (100) UNIQUE NOT NULL,password VARCHAR(255) NOT NULL
);

CREATE TABLE IF NOT EXISTS friends (
  user_id int NOT NULL,friend_id int NOT NULL,PRIMARY KEY (user_id,friend_id),FOREIGN KEY (user_id) REFERENCES user(user_id),FOREIGN KEY (friend_id) REFERENCES user(user_id)
);

出于某种原因,在我的 friends 表中,创建了复合主键,但只有第二个字段 friend_id 是外键。当我创建一个名为 recipe_composition 的表时,当我创建一个复合键 recipe_id,ingredient_id 时,我遇到了完全相同的问题。复合主键被创建,但只有第二个字段 ingredient_id 获得外键引用。

任何帮助将不胜感激,谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。