MySQL auto incremented field to generate unique ID for the record
We can get a unique auto-generated number from MySQL by creating an auto-incremented field. MySQL will generate a unique number by incrementing the last number of the table and will automatically add to the auto incremented field.
This is the best way to generate a trouble ticket number for a help desk system. In a school, if a new student joins then all details of the student we can feed to student table and while using the insert query. MySQL will add one auto generated a unique number to this auto incremented field. We need not have to specify any data in our query while adding the other details ( except auto-incremented field data).
We have to make auto increment field integer ( obvious ) and also unique. The property set to auto increment. Here is the sql to create a student table with one auto increment field to assign one unique student ID.
CREATE TABLE `student` (
`student_id` INT( 3 ) NOT NULL AUTO_INCREMENT,
`name` VARCHAR( 25 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`student_id`
)
);
Now we will add one record to this table using one insert command.
Assigning employee number after adding details of a new employ to our employ table.
Giving tracking ID for a consignment after it is received for dispatch.
Application Number generated after successful registration for an examination.
Note that all these numbers are unique and system generated.
Maximum value of inserted id
The maximum value of the inserted id depends on the type of numeric field we have selected. For TINYINT it will take value up to 127 for unsigned it is 255. After this the creation of auto increment ID will fail. So take care while creating the auto increment field to match your future requirements.
Starting from higher number
Change the auto increment field like this
ALTER TABLE student AUTO_INCREMENT = 50;
Pre defined value for a MySQL auto increment field
We can start an auto increment field from a pre-defined value. For example when we issue a student ID number, where student ID is an auto increment field we can generate IDs with values 100001 from the first record. This helps as we don't want to give a number like 1 to the first student and end with number 10004. This way we can have the first number as 100001 and last number 110005. This way all the students will have six-digit number.
This we can take care while creating the table by adding auto increment value at the end. Here is the SQL for creating a student table with auto increment field is set to 100000
CREATE TABLE student (
id int(7) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
class varchar(10) NOT NULL default '',
mark int(3) NOT NULL default '0',
sex varchar(6) NOT NULL default 'male',
UNIQUE KEY id (id)
) auto_increment=100000 ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
If you delete all records by truncate table sql command then while adding the first record the auto increment field will start from 1.
zerofill
We can fill the number by adding zeros ( 00001 or 00025 ) by using zerofill.
CREATE TABLE IF NOT EXISTS `student4` (
`id` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '',
`class` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '',
`mark` int(3) NOT NULL DEFAULT '0',
`gender` varchar(6) CHARACTER SET utf8 NOT NULL DEFAULT 'male',
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=38 ;
This article is written by plus2net.com team.
https://www.plus2net.com
plus2net.com
Senthu
07-12-2009
How to export the tables in .sql format from phpmysql db by using in phpMySQL ??
Thank you
SENTHU
dhananjay
13-09-2010
goto phpmyadmin, select database , select table using checkbox, go downward select option mysql then zip and click on go it will ask you where u want to save your table .
Nitin
09-11-2011
is it compulsory to define auto increment field unique or primary key constraint ?