Small. Fast. Reliable.
Choose any three.

Session Module C Interface

Получите определение первичного ключа таблицы

int sqlite3changeset_pk(
  sqlite3_changeset_iter *pIter,  /* Iterator object */
  unsigned char **pabPK,          /* OUT: Array of boolean - true for PK cols */
  int *pnCol                      /* OUT: Number of entries in output array */
);

Для каждой измененной таблицы changeset включает следующее:

Эта функция используется, чтобы найти, какие колонки включают PRIMARY KEY таблицы, измененной тем изменением, на которое в настоящее время указывает iterator pIter. Если успешно, *pabPK укажет на множество записей nCol, где nCol это количество колонок в таблице. Элементы *pabPK установлены в 0x01, если соответствующая колонка это часть первичного ключа таблицы, иначе в 0x00.

Если pnCol не NULL, *pnCol установлен в количество колонок в таблице.

Если эта функция вызвана, когда iterator не указывает на действительный доступ, SQLITE_MISUSE возвращен, и выходные переменные обнулены. Иначе SQLITE_OK возвращен, и выходные переменные наполнены, как описано выше.