Я знаю, что это действительно основной вопрос, но я не могу заставить его работать. У меня есть таблица, которая выглядит примерно так:Sqlite - Вставить, если Record Exitsts
TABLE entry
(
"eID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"pID" INTEGER,
"fID" INTEGER,
"vidPath" TEXT)
и связанный с ним один здесь:
CREATE TABLE "ftime" (
"fID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"fName" TEXT);
Я хотел бы иметь триггер такой, что можно только вставить новую запись в таблицу ввода против ftime, который уже существует, т.е. fID должен уже существовать. Я придумал следующий триггер, но он держит неудачу по какой-то причине:
CREATE TRIGGER insert_fid_exists BEFORE INSERT ON entry BEGIN
IF EXISTS (SELECT from faceTime WHERE fID=new.fID;) END
Внешние ключи не вариант, к сожалению, потому что автоматический каскад, кажется, не работает.
Большое спасибо
Внешние ключи работают нормально. Вы прочитали [триггерную документацию] (http://www.sqlite.org/lang_createtrigger.html)? –
@ CL.Read.Не в том, как я использую базу данных. –