需要帮助使用mysql创建简单的多对多关系吗
所以我习惯了使用条令,以至于我忘记了标准的mysql语法,这是我考试时需要用到的 我想创建一个名为“youtube”的测试数据库 带有需要帮助使用mysql创建简单的多对多关系吗,mysql,database,Mysql,Database,所以我习惯了使用条令,以至于我忘记了标准的mysql语法,这是我考试时需要用到的 我想创建一个名为“youtube”的测试数据库 带有app\u用户表和app\u视频表 在“现实生活”中,这将是一段一夫一妻的关系,但我需要这样做 学习以建立多人关系 所以 “许多应用程序用户”->拥有“许多应用程序视频” 反过来说 所以首先我创建了一个数据库 CREATE DATABASE youtube; use youtube; 然后我创建了用户和视频表 CREATE TABLE app_users(
app\u用户
表和app\u视频
表
在“现实生活”中,这将是一段一夫一妻的关系,但我需要这样做
学习以建立多人关系
所以
“许多应用程序用户”->拥有“许多应用程序视频”
反过来说
所以首先我创建了一个数据库
CREATE DATABASE youtube;
use youtube;
然后我创建了用户和视频表
CREATE TABLE app_users(
id INT AUTO_INCREMENT,
username VARCHAR(20),
password VARCHAR(40),
first_name VARCHAR(20),
last_name VARCHAR(20),
video_id INT,
PRIMARY KEY(id)
);
CREATE TABLE app_videos(
id INT AUTO_INCREMENT,
video_path VARCHAR(20),
description VARCHAR(20),
likes INT(20),
dislikes INT(20),
user_id INT,
PRIMARY KEY(id)
);
然后我创建了一个关系表
CREATE TABLE vid_uid
(
id INT AUTO_INCREMENT,
video_id INT,
user_id INT,
PRIMARY KEY(id)
);
现在我需要做的是以某种方式将这些列相互连接起来,但我的语法从来都不起作用
我知道我需要改变这个
ALTER TABLE app_users
ADD FOREIGN KEY(video_id)
REFERENCES app_videos(video_id);
要想找到有效的方法:/您需要将app\u视频(video\u id)更改为app\u视频(id)。您还需要更改表vid_uid(而不是app_users),因为该表作为外部键的引用:
ALTER TABLE vid_uid
ADD FOREIGN KEY(video_id)
REFERENCES app_videos(id);
您还需要执行以下操作:
ALTER TABLE vid_uid
ADD FOREIGN KEY(user_id)
REFERENCES app_users(id);