将ID添加到SQLite中多对多的联接表中
我正在使用SQLite Studio 3.3处理一个简单的视频数据库。这是我正在使用的三张桌子将ID添加到SQLite中多对多的联接表中,sqlite,join,many-to-many,Sqlite,Join,Many To Many,我正在使用SQLite Studio 3.3处理一个简单的视频数据库。这是我正在使用的三张桌子 -- Table: Videos DROP TABLE IF EXISTS Videos; CREATE TABLE Videos ( id INTEGER PRIMARY KEY ASC AUTOINCREMENT UNIQUE NOT NULL, vid_tit
-- Table: Videos
DROP TABLE IF EXISTS Videos;
CREATE TABLE Videos (
id INTEGER PRIMARY KEY ASC AUTOINCREMENT
UNIQUE
NOT NULL,
vid_title TEXT NOT NULL
UNIQUE,
vid_rel_date DATE
);
-- Table: People
DROP TABLE IF EXISTS People;
CREATE TABLE People (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL
UNIQUE,
person_name_first TEXT NOT NULL,
person_name_last TEXT
);
-- Table: _Videos_People
DROP TABLE IF EXISTS _Videos_People;
CREATE TABLE _Videos_People (
id INTEGER PRIMARY KEY AUTOINCREMENT
UNIQUE
NOT NULL,
vid_id INTEGER REFERENCES Videos (id),
person_id INTEGER REFERENCES People (id)
);
我用这些语句向数据库中添加一个视频和一个人,并获取这两个ID
INSERT OR IGNORE INTO Videos (
vid_title,
vid_rel_date
)
VALUES (
'The Call Of The Wild',
'2020'
);
INSERT OR IGNORE INTO People (
person_name_first,
person_name_last
)
VALUES (
'Harrison',
'Ford'
);
SELECT id
FROM Videos
WHERE vid_title = 'The Call Of The Wild'
AND vid_rel_date = '2020';
SELECT id
FROM People
WHERE person_name_first = 'Harrison'
AND person_name_last = 'Ford';
这就是我被困的地方。一旦我有了这两个ID,我如何将它们添加到_Videos_People join表中,以便该人与视频关联
我找到了,但我不知道如何在我的情况下使用它(或者如果我应该)
如果我完全错了,我愿意接受建议。我不熟悉这一点,因此非常感谢您的帮助。您可以使用此
插入
语句:
INSERT INTO _Videos_People (vid_id, person_id) VALUES (
(SELECT id FROM Videos WHERE vid_title = 'The Call Of The Wild' AND vid_rel_date = '2020'),
(SELECT id FROM People WHERE person_name_first = 'Harrison' AND person_name_last = 'Ford')
);
请参阅。
感谢您的快速响应,而“dbfiddle”网站看起来是我真正可以使用的。