sql auto increment

SQL Advance

homeBack

Next

SQL AUTO INCREMENT

  • SQL AUTO INCREMENT Field

    Auto-increment allows a unique number to be generated when a new record is inserted into a table.

  • AUTO INCREMENT a Field

    Very often we would like the value of the primary key field to be created automatically every time a new record is inserted.

    We would like to create an auto-increment field in a table.

  • Syntax for MySQL

    The following SQL statement defines the “S.no” column to be an auto-increment primary key field in the “emp” table:

    CREATE TABLE emp
    (
    S.no int NOT NULL AUTO_INCREMENT,
    Name2 varchar(255) NOT NULL,
    Name1 varchar(255),
    City varchar(255),
    PRIMARY KEY (S.no)
    )

    MySQL uses the AUTO_INCREMENT keyword to perform an auto-increment feature.

    By default, the starting value for AUTO_INCREMENT is 1, and it will increment by 1 for each new record.

    To let the AUTO_INCREMENT sequence start with another value, use the following SQL statement:

    ALTER TABLE emp AUTO_INCREMENT=100

    To insert a new record into the “emp” table, we will not have to specify a value for the “S.no” column (a unique value will be added automatically):

    INSERT INTO emp (Name1,Name2)
    VALUES (‘Jessica’,’Alba’)

    The SQL statement above would insert a new record into the “emp” table. The “S.no” column would be assigned a unique value. The “Name1” column would be set to “Jessica” and the “Name2” column would be set to “Alba”.

  • Syntax for SQL Server

    The following SQL statement defines the “S.no” column to be an auto-increment primary key field in the “emp” table:

    CREATE TABLE emp
    (
    S.no int PRIMARY KEY IDENTITY,
    Name2 varchar(255) NOT NULL,
    Name1 varchar(255),
    City varchar(255)
    )

    The MS SQL Server uses the IDENTITY keyword to perform an auto-increment feature.

    By default, the starting value for IDENTITY is 1, and it will increment by 1 for each new record.

    To specify that the “S.no” column should start at value 10 and increment by 5, change the identity to IDENTITY(10,5).

    To insert a new record into the “emp” table, we will not have to specify a value for the “S.no” column (a unique value will be added automatically):

    INSERT INTO emp (Name1,Name2)
    VALUES (‘Jessica’,’Alba’)

    The SQL statement above would insert a new record into the “emp” table. The “S.no” column would be assigned a unique value. The “Name1” column would be set to “Jessica” and the “Name2” column would be set to “Alba”.

  • Syntax for Access

    The following SQL statement defines the “S.no” column to be an auto-increment primary key field in the “emp” table:

    CREATE TABLE emp
    (
    S.no PRIMARY KEY AUTOINCREMENT,
    Name2 varchar(255) NOT NULL,
    Name1 varchar(255),
    City varchar(255)
    )

    The MS Access uses the AUTOINCREMENT keyword to perform an auto-increment feature.

    By default, the starting value for AUTOINCREMENT is 1, and it will increment by 1 for each new record.

    To specify that the “S.no” column should start at value 10 and increment by 5, change the autoincrement to AUTOINCREMENT(10,5).

    To insert a new record into the “emp” table, we will not have to specify a value for the “S.no” column (a unique value will be added automatically):

    INSERT INTO emp (Name1,Name2)
    VALUES (‘Jessica’,’Alba’)

    The SQL statement above would insert a new record into the “emp” table. The “S.no” column would be assigned a unique value. The “Name1” column would be set to “Jessica” and the “Name2” column would be set to “Alba”.

  • Syntax for Oracle

    In Oracle the code is a little bit more tricky.

    You will have to create an auto-increment field with the sequence object (this object generates a number sequence).

    Use the following CREATE SEQUENCE syntax:

    CREATE SEQUENCE seq_emp
    MINVALUE 1
    START WITH 1
    INCREMENT BY 1
    CACHE 10

    The code above creates a sequence object called seq_emp, that starts with 1 and will increment by 1. It will also cache up to 10 values for performance. The cache option specifies how many sequence values will be stored in memory for faster access.

    To insert a new record into the “emp” table, we will have to use the nextval function (this function retrieves the next value from seq_emp sequence):

    INSERT INTO emp (S.no,Name1,Name2)
    VALUES (seq_emp.nextval,’Jessica’,’Alba’)

    The SQL statement above would insert a new record into the “emp” table. The “S.no” column would be assigned the next number from the seq_emp sequence. The “Name1” column would be set to “Jessica” and the “Name2” column would be set to “Alba”.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s