Я столкнулся именно с этой ошибкой при заполнении базы данных SQLite для приложения iOS с использованием специального сценария (т.е. без использования Core Data). Оказывается, есть некоторые метаданные, которые вы должны обновить самостоятельно после добавления новых строк. Найдите строку в Z_PRIMARYKEY, где Z_NAME равно названию таблицы, в которую вы только что вставили. Убедитесь, что Z_MAX в этой строке равно наибольшему значению Z_PK в таблице, в которую вы вставили строки. В моем случае, как только я обновил Z_MAX с правильным номером, ошибка исчезла.
Итак, для таблицы "ZAUTHOR":
SELECT z_pk FROM ZAUTHOR ORDER BY z_pk DESC LIMIT 1; /* Returns 1234 */
UPDATE Z_PRIMARYKEY SET z_max = 1234 WHERE z_name = 'Author';
Эта статья помогла мне отследить ошибку.