Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to handle fragmentation of auto increment ID column in MySQL?
Whenever we renumber, there might be a problem. There is a need to declare a unique ID for a column.
In MySQL version 5.6 InnoDB, we can reuse the auto_increment ID by including the ID column in an INSERT statement and we can give any specific value that we want.
The situations are as follows −
- Whenever we delete the ID with the highest number
- Whenever we start and stop MySQL server
- Whenever we insert a new record
Example of ID auto increment using auto_increment variable.
mysql> create table UniqueAutoId -> ( -> id int auto_increment, -> Unique(id) -> ); Query OK, 0 rows affected (0.45 sec)
Inserting records into table.
mysql> insert into UniqueAutoId values(); Query OK, 1 row affected (0.13 sec) mysql> insert into UniqueAutoId values(); Query OK, 1 row affected (0.16 sec) mysql> insert into UniqueAutoId values(); Query OK, 1 row affected (0.07 sec) mysql> insert into UniqueAutoId values(); Query OK, 1 row affected (0.10 sec) mysql> insert into UniqueAutoId values(); Query OK, 1 row affected (0.10 sec)
Displaying all records.
mysql> select *from UniqueAutoId;
The following is the output.
+----+ | id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | +----+ 5 rows in set (0.00 sec)
To delete records, we have used DELETE statement. Here, we are deleting id=5;
mysql> DELETE from UniqueAutoId where id=5; Query OK, 1 row affected (0.14 sec)
Displaying all records.
mysql> select *from UniqueAutoId;
The following is the output.
+----+ | id | +----+ | 1 | | 2 | | 3 | | 4 | +----+ 4 rows in set (0.00 sec)
Let us again delete a record from the table.
mysql> delete from UniqueAutoId where id=2; Query OK, 1 row affected (0.15 sec)
Again, displaying records from the table.
mysql> select *from UniqueAutoId;
The following is the output.
+----+ | id | +----+ | 1 | | 3 | | 4 | +----+ 3 rows in set (0.00 sec
The above results in fragmentation.
