BEGIN; CREATE TABLE IF NOT EXISTS category ( categoryName varchar(255) NOT NULL PRIMARY KEY, releaseCount integer ); INSERT INTO category (categoryName) VALUES ( '0DAY' ); INSERT INTO category (categoryName) VALUES ( '0DAY-XXX' ); INSERT INTO category (categoryName) VALUES ( 'APPS' ); INSERT INTO category (categoryName) VALUES ( 'ANIME' ); INSERT INTO category (categoryName) VALUES ( 'COVERS' ); INSERT INTO category (categoryName) VALUES ( 'DOX' ); INSERT INTO category (categoryName) VALUES ( 'DVDR' ); INSERT INTO category (categoryName) VALUES ( 'DVDR-HD' ); INSERT INTO category (categoryName) VALUES ( 'EBOOK' ); INSERT INTO category (categoryName) VALUES ( 'GAMES' ); INSERT INTO category (categoryName) VALUES ( 'MP3' ); INSERT INTO category (categoryName) VALUES ( 'MVID' ); INSERT INTO category (categoryName) VALUES ( 'PRE' ); INSERT INTO category (categoryName) VALUES ( 'PSP' ); INSERT INTO category (categoryName) VALUES ( 'PS2' ); INSERT INTO category (categoryName) VALUES ( 'PS3' ); INSERT INTO category (categoryName) VALUES ( 'VCD' ); INSERT INTO category (categoryName) VALUES ( 'SVCD' ); INSERT INTO category (categoryName) VALUES ( 'MDVDR' ); INSERT INTO category (categoryName) VALUES ( 'NDS' ); INSERT INTO category (categoryName) VALUES ( 'PDA' ); INSERT INTO category (categoryName) VALUES ( 'TV-XVID' ); INSERT INTO category (categoryName) VALUES ( 'TV-HR' ); INSERT INTO category (categoryName) VALUES ( 'TV-DVDR' ); INSERT INTO category (categoryName) VALUES ( 'TV-DVDRIP' ); INSERT INTO category (categoryName) VALUES ( 'TV-X264' ); INSERT INTO category (categoryName) VALUES ( 'XVID' ); INSERT INTO category (categoryName) VALUES ( 'XBOX' ); INSERT INTO category (categoryName) VALUES ( 'XBOX360' ); INSERT INTO category (categoryName) VALUES ( 'WII' ); INSERT INTO category (categoryName) VALUES ( 'X264' ); INSERT INTO category (categoryName) VALUES ( 'XXX' ); INSERT INTO category (categoryName) VALUES ( 'XXX-DVDR' ); COMMIT; CREATE TRIGGER fki_pre_category_category_name BEFORE INSERT ON [pre] FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'insert on table "pre" violates foreign key constraint "fki_pre_category_category_name"') WHERE (SELECT categoryName FROM category WHERE categoryName = NEW.category) IS NULL; END; CREATE TRIGGER fku_pre_category_category_name BEFORE UPDATE ON [pre] FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'update on table "pre" violates foreign key constraint "fku_pre_category_category_name"') WHERE (SELECT categoryName FROM category WHERE categoryName = NEW.category) IS NULL; END; CREATE TRIGGER fkd_pre_category_category_name BEFORE DELETE ON category FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'delete on table "category" violates foreign key constraint "fkd_pre_category_category_name"') WHERE (SELECT category FROM pre WHERE category = OLD.categoryName) IS NOT NULL; END;