I was trying the following piece of code (see below),

The requirement here is very simple, I want the t_id field or ROWID
field to be regenerated sequentially even after delete has been
performed.

In the below code, I have created a table with 3 fields, Inserted 1000
records, Deleted some middle records,
After deletion, I want the ROWID to be regenrated or I want to UPDATE
the t_id to regenerate the numbers from 0-N.

Please Note: I don't want to create a new table, I don't want to do
VACUUM (I'm working on In-Memory database).

Anyone knows...? Please reply...

Thanks in advance...


static const char *TestSqlStats [] = {

    "CREATE TABLE testTbl (t_id INTEGER, t_name TEXT, t_desc TEXT);",



    "INSERT INTO testTbl (t_id,t_name,t_desc) VALUES (%d,'%s','%s');",



    "SELECT * FROM testTbl WHERE t_name LIKE '%%%s%%' LIMIT 100;",

};



int main(int argc, char *argv[])

{

    char *zErrMsg = NULL;

    int status , i = 0;



    status = sqlite3_open (database_name, & db_handle);

     if ( status)

    {

        printf("%d", status );

        return 0;

    }

    /* Create Table */

    status = sqlite3_exec (db_handle, TestSqlStats[0], NULL , 0, &zErrMsg);

    if (SQLITE_OK == status)

    {

        char name [30];

        char desc [50];



        for ( i = 1; i < 1000 && status == SQLITE_OK; i ++)

        {

            sprintf(name ,"TableName""%d", i);

            sprintf(desc ,"Moves the selected control or dialog down""%d", i );

            sprintf(queryString ,

                TestSqlStats[1], i, name , desc);

            status = sqlite3_exec (db_handle, queryString, NULL , 0, &zErrMsg);
        }
         sprintf( queryString,


            "DELETE FROM testTbl WHERE t_name LIKE '%%0%%' AND ROWID
BETWEEN 100 AND 200;");

        status = sqlite3_exec (db_handle, queryString, callback, 0, &zErrMsg );



        sprintf(queryString ,

            "SELECT ROWID,* FROM testTbl WHERE ROWID BETWEEN 100 AND 200;");

        status = sqlite3_exec (db_handle, queryString, callback, 0, &zErrMsg );
    }
}

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to