Tengo una base de datos SQLite. Estoy tratando de insertar valores ( users_id, lessoninfo_id) en la tabla bookmarks, solo si ambos no existen antes en una fila.
INSERT INTO bookmarks(users_id,lessoninfo_id)
VALUES(
(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'),
(SELECT _id FROM lessoninfo
WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+")
WHERE NOT EXISTS (
SELECT users_id,lessoninfo_id from bookmarks
WHERE users_id=(SELECT _id FROM Users
WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=(
SELECT _id FROM lessoninfo
WHERE Lesson="+lesson_no+")))
Esto da un error que dice:
error db cerca de donde la sintaxis.
fuente

person (id, name unique)ycat (person_id, name unique)quiero insertar muchos pares(person_name, cat_name).ON CONFLICT IGNOREaCREATE TABLEque sería un poco más manejablePara una columna única, use esto:
Para obtener más información, consulte: sqlite.org/lang_insert
fuente
Unique(col1,col2)y también tiene col3, porque una inserción o ignorar fallaría cuando esto actualice col3 al nuevo valor.insert or replace into my_table values('1','2','5')reemplaza una fila'1','2','3'Esta es la forma más rápida.
Para algunos otros motores SQL, puede usar una tabla ficticia que contenga 1 registro. p.ej:
fuente