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 */ );
對於每個修改的資料表,變更集包含下列資訊:
此函式用於找出哪些欄位組成變更集所修改的資料表的 PRIMARY KEY,而反覆運算器 pIter 目前指向該變更集。如果成功,*pabPK 會設定為指向一個 nCol 項目的陣列,其中 nCol 是資料表中的欄位數目。如果對應的欄位是資料表主鍵的一部分,*pabPK 的元素會設定為 0x01;否則,會設定為 0x00。
如果參數 pnCol 不為 NULL,則 *pnCol 會設定為資料表中的欄位數目。
如果在反覆運算器未指向有效項目時呼叫此函式,則會傳回 SQLITE_MISUSE,且輸出變數會歸零。否則,會傳回 SQLITE_OK,且輸出變數會如上所述填入資料。