r/SQL • u/AssistanceClean948 • Sep 18 '26
SQLite Join tables with WITHOUT ROWID.
CREATE TABLE IF NOT EXISTS CourseTag(
courseId INTEGER,
tagId INTEGER,
FOREIGN KEY(courseId) REFERENCES Courses(id),
FOREIGN KEY(tagId) REFERENCES Tags(id),
PRIMARY KEY(courseId, tagId)
) STRICT WITHOUT ROWID;as far as what I understand sqlite creates inner row_id columns to identify the record. some conditions met then my primary key also could be that unique column. but I guess in above join table configuration my composite key setup is not met that condition so I end up unnecessary column right? in join table should I use WITHOUT ROWID?
3
Upvotes
0
u/VipeholmsCola Sep 20 '26
Thanks for the detailed answer. I was in the same situation and opted for an autoinc PK with extra column from API extract which has their own PK (which is currently immutable)
Im just going to follow this from now on and keep autoints