2014-04-27 57 views
0

我很感激任何幫助。我正在創建一個數據庫查詢,我想添加一些東西。 我創建了兩個表格(用戶&視頻),我想將video_id插入到用戶表中,但是我希望一個用戶擁有多個視頻。例如,user_id 1應該有全部三個視頻。任何幫助?SQL查詢將多個值添加到屬性中

create table users ( user_id int, username varchar(50), video_id int, primary key (user_id));

insert into users(user_id,username,video_id) values (1,'trex',1&2&3);這行不正確。

create table videos ( video_id int, video_title varchar(100), primary key (video_id));

insert into videos(video_id,video_title) values (1,'Math tutor'),(2,'SQL joins'),(3,'Fastest cars');

回答

2

我認爲在這種情況下,你應該規範化表的用戶,從這裏取出video_id,並創建一個表有users to video mapping,這樣的事情:

create table user_videoes (
user_id int, 
video_id int); 

通過這種方法,一個用戶可以擁有多個視頻一個視頻可以屬於多個用戶。

+0

非常感謝。這很有用,也更簡單。 – mickey4691

0

如果視頻只能屬於一個用戶,那麼你應該做它周圍的其他方法,即。 user_id字段在視頻表中。這樣一個用戶可以擁有很多視頻。

+0

我必須做一些多重的東西。就像許多屬於頻道的視頻一樣,這就是爲什麼我以用戶爲例。謝謝您的意見。 – mickey4691

0

您不能在VIDEO_ID插入1 3爲INT

你需要插入三人行,拿到三級VIDEO_ID的,併爲每個視頻

insert into users(user_id,username,video_id) values (1,'trex',1); 
insert into users(user_id,username,video_id) values (1,'trex',2); 
insert into users(user_id,username,video_id) values (1,'trex',3); 

但隨後,USER_ID不能是主鍵。使用,而不是一個ID列白衣自動增量

+0

謝謝,但我不想重複這些值。 – mickey4691

+0

嗯,他可以用_Boolean_'插入它,然後他只能存儲32個視頻(假設是一個32位整數)。這是一個很痛苦的事情...... –