Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. how to reset auto increment id of column in data base table of sqlite browser ?
Forum Updated to NodeBB v4.3 + New Features

how to reset auto increment id of column in data base table of sqlite browser ?

Scheduled Pinned Locked Moved Solved Mobile and Embedded
13 Posts 4 Posters 3.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @Qt-embedded-developer I don't see where you're deleting the table?

    Q Offline
    Q Offline
    Qt embedded developer
    wrote on last edited by
    #3

    @jsulm delete all data from table not a table

    jsulmJ KroMignonK 2 Replies Last reply
    0
    • Q Qt embedded developer

      @jsulm delete all data from table not a table

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #4

      @Qt-embedded-developer Try to delete the whole table and create it again. Simply deleting all data will not reset auto increment id.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • Q Qt embedded developer

        @jsulm delete all data from table not a table

        KroMignonK Offline
        KroMignonK Offline
        KroMignon
        wrote on last edited by
        #5

        @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

        delete all data from table not a table

        If it is a SQLite DB, you have also to reset to Autoincrement ID from the sequence table:

        delete from your_table;    
        delete from sqlite_sequence where name='your_table';
        

        It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

        Q 1 Reply Last reply
        3
        • KroMignonK KroMignon

          @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

          delete all data from table not a table

          If it is a SQLite DB, you have also to reset to Autoincrement ID from the sequence table:

          delete from your_table;    
          delete from sqlite_sequence where name='your_table';
          
          Q Offline
          Q Offline
          Qt embedded developer
          wrote on last edited by
          #6

          @KroMignon said in how to reset auto increment id of column in data base table of sqlite browser ?:

          delete from sqlite_sequence where name='your_table'

          this logic does not work

          jsulmJ J.HilkJ KroMignonK 3 Replies Last reply
          0
          • Q Qt embedded developer

            @KroMignon said in how to reset auto increment id of column in data base table of sqlite browser ?:

            delete from sqlite_sequence where name='your_table'

            this logic does not work

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #7

            @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

            this logic does not work

            Well, you should show code and tell what exactly "does not work"...
            Any errors?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            1
            • Q Qt embedded developer

              @KroMignon said in how to reset auto increment id of column in data base table of sqlite browser ?:

              delete from sqlite_sequence where name='your_table'

              this logic does not work

              J.HilkJ Offline
              J.HilkJ Offline
              J.Hilk
              Moderators
              wrote on last edited by
              #8

              @Qt-embedded-developer I seriously hope you have replaced 'your_table' with the actual name of your table.


              Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


              Q: What's that?
              A: It's blue light.
              Q: What does it do?
              A: It turns blue.

              Q 1 Reply Last reply
              0
              • J.HilkJ J.Hilk

                @Qt-embedded-developer I seriously hope you have replaced 'your_table' with the actual name of your table.

                Q Offline
                Q Offline
                Qt embedded developer
                wrote on last edited by
                #9

                @J-Hilk yes i have replace that name with my table name

                1 Reply Last reply
                0
                • Q Qt embedded developer

                  @KroMignon said in how to reset auto increment id of column in data base table of sqlite browser ?:

                  delete from sqlite_sequence where name='your_table'

                  this logic does not work

                  KroMignonK Offline
                  KroMignonK Offline
                  KroMignon
                  wrote on last edited by
                  #10

                  @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

                  this logic does not work

                  How did you test if it works or not?
                  SQLite is a stateless DB, autoincrements are stored in "private" Sqlite table sqlite_sequence. If you delete the entries in this table, it will restart from 0.

                  Extract from SQLite documentation:

                  SQLite keeps track of the largest ROWID using an internal table named "sqlite_sequence". The sqlite_sequence table is created and initialized automatically whenever a normal table that contains an AUTOINCREMENT column is created. The content of the sqlite_sequence table can be modified using ordinary UPDATE, INSERT, and DELETE statements. But making modifications to this table will likely perturb the AUTOINCREMENT key generation algorithm. Make sure you know what you are doing before you undertake such changes. The sqlite_sequence table does not track ROWID changes associated with UPDATE statement, only INSERT statements.

                  It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

                  Q 1 Reply Last reply
                  3
                  • KroMignonK KroMignon

                    @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

                    this logic does not work

                    How did you test if it works or not?
                    SQLite is a stateless DB, autoincrements are stored in "private" Sqlite table sqlite_sequence. If you delete the entries in this table, it will restart from 0.

                    Extract from SQLite documentation:

                    SQLite keeps track of the largest ROWID using an internal table named "sqlite_sequence". The sqlite_sequence table is created and initialized automatically whenever a normal table that contains an AUTOINCREMENT column is created. The content of the sqlite_sequence table can be modified using ordinary UPDATE, INSERT, and DELETE statements. But making modifications to this table will likely perturb the AUTOINCREMENT key generation algorithm. Make sure you know what you are doing before you undertake such changes. The sqlite_sequence table does not track ROWID changes associated with UPDATE statement, only INSERT statements.

                    Q Offline
                    Q Offline
                    Qt embedded developer
                    wrote on last edited by
                    #11

                    @KroMignon

                    The sqlite_sequence table does not track ROWID changes associated with UPDATE statement, only INSERT statements.

                    thank you KroMignon

                    i used update query with delete from that's why auto increment id not get reset with delete from query

                       QString sSqliteQuery;
                        QSqlQuery qQuery;
                    
                        sSqliteQuery =  "DELETE FROM "+sDBTableName[DBTABLE_SURVEY];
                    

                    #ifdef QDEBUG_ENABLE
                    pMainApp.ObjSettings.DebugStation(sSqliteQuery);
                    #endif
                    pMainApp.ObjDbOperations.ExecuteQueryFromString(sSqliteQuery, qQuery);
                    sSqliteQuery = "UPDATE sqlite_sequence SET seq = 0 WHERE name = "+sDBTableName[DBTABLE_SURVEY];
                    #ifdef QDEBUG_ENABLE
                    pMainApp.ObjSettings.DebugStation(sSqliteQuery);
                    #endif
                    pMainApp.ObjDbOperations.ExecuteQueryFromString(sSqliteQuery, qQuery);

                    KroMignonK 1 Reply Last reply
                    0
                    • Q Qt embedded developer

                      @KroMignon

                      The sqlite_sequence table does not track ROWID changes associated with UPDATE statement, only INSERT statements.

                      thank you KroMignon

                      i used update query with delete from that's why auto increment id not get reset with delete from query

                         QString sSqliteQuery;
                          QSqlQuery qQuery;
                      
                          sSqliteQuery =  "DELETE FROM "+sDBTableName[DBTABLE_SURVEY];
                      

                      #ifdef QDEBUG_ENABLE
                      pMainApp.ObjSettings.DebugStation(sSqliteQuery);
                      #endif
                      pMainApp.ObjDbOperations.ExecuteQueryFromString(sSqliteQuery, qQuery);
                      sSqliteQuery = "UPDATE sqlite_sequence SET seq = 0 WHERE name = "+sDBTableName[DBTABLE_SURVEY];
                      #ifdef QDEBUG_ENABLE
                      pMainApp.ObjSettings.DebugStation(sSqliteQuery);
                      #endif
                      pMainApp.ObjDbOperations.ExecuteQueryFromString(sSqliteQuery, qQuery);

                      KroMignonK Offline
                      KroMignonK Offline
                      KroMignon
                      wrote on last edited by
                      #12

                      @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

                      i used update query with delete from that's why auto increment id not get reset with delete from query

                      I do not clearly understand if you still have a problem with AUTOINCREMENT reset?
                      Does it work now?

                      It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

                      Q 1 Reply Last reply
                      1
                      • KroMignonK KroMignon

                        @Qt-embedded-developer said in how to reset auto increment id of column in data base table of sqlite browser ?:

                        i used update query with delete from that's why auto increment id not get reset with delete from query

                        I do not clearly understand if you still have a problem with AUTOINCREMENT reset?
                        Does it work now?

                        Q Offline
                        Q Offline
                        Qt embedded developer
                        wrote on last edited by
                        #13

                        @KroMignon Dear i have drop table and recreate it. it works for reset auto increment id

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved