Предположительно, в данном случае это означает, что вы не вставляете повторяющиеся заголовки - при условии, что ?
для вставляемого заголовка совпадает с ?
для заголовка, отмеченного в подзапросе.
На самом деле также должен иметь уникальный индекс / ограничение для title
, поэтому база данных реализует это на уровне базы данных.
На мой взгляд, лучший подход заключается в используйте ON CONFLICT
:
alter table track add constraint unq_track_title unique (title);
INSERT INTO Track(title, album_id, genre_id, len, rating, count)
VALUES ( ?, ?, ?, ?, ?, ? )
ON CONFLICT (title) IGNORE;
Это также потокобезопасно, поэтому несколько вставок одной строки разными пользователями недопустимы.
Все, что сказано разные дорожки могут иметь одинаковое название. Возможно, вам нужен уникальный индекс для album_id
/ title
.