Curriculum
Course: SQL
Login

Curriculum

SQL

SQL References

0/80

MySQL Functions

0/139

SQL Server Functions

0/84

SQL Quick Ref

0/1
Text lesson

SQL AUTO INCREMENT

AUTO INCREMENT Field

Auto-increment facilitates the automatic generation of a unique number upon the insertion of a new record into a table, commonly used for creating primary key fields that increment with each new entry.

Syntax for MySQL

The subsequent SQL statement designates the “Personid” column as an auto-increment primary key field within the “Persons” table.

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
); 

MySQL employs the AUTO_INCREMENT keyword to implement automatic incrementation.

By default, the initial value for AUTO_INCREMENT is 1, incrementing by 1 for each new record.

To commence the AUTO_INCREMENT sequence with a different value, utilize the following SQL statement:

ALTER TABLE Persons AUTO_INCREMENT=100

When inserting a new record into the “Persons” table, it’s unnecessary to specify a value for the “Personid” column, as a unique value will be added automatically.

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’); 

The provided SQL statement would add a new record to the “Persons” table. It would assign a unique value to the “Personid” column, set the “FirstName” column to “Lars”, and the “LastName” column to “Monsen”.

Syntax for SQL Server

The subsequent SQL statement establishes the “Personid” column as an auto-increment primary key field within the “Persons” table.

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
); 

In MS SQL Server, the IDENTITY keyword enables the auto-increment functionality.

In the provided example, the initial value for IDENTITY is 1, and it increments by 1 for each new record.

Tip: To specify that the “Personid” column should begin at value 10 and increase by 5, adjust it to IDENTITY(10,5).

When inserting a new record into the “Persons” table, it’s unnecessary to provide a value for the “Personid” column as it will be automatically assigned a unique value.

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’); 

The provided SQL statement would add a new record to the “Persons” table, automatically assigning a unique value to the “Personid” column, and setting the “FirstName” column to “Lars” and the “LastName” column to “Monsen”.

Syntax for Access

The SQL statement below designates the “Personid” column as an auto-increment primary key field within the “Persons” table.

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
); 

In MS Access, the AUTOINCREMENT keyword facilitates auto-increment functionality.

By default, it begins with a value of 1, incrementing by 1 for each new record.

To specify that the “Personid” column should commence at 10 and increment by 5, modify the AUTOINCREMENT to AUTOINCREMENT(10,5).

When inserting a new record into the “Persons” table, there’s no need to provide a value for the “Personid” column as it will automatically receive a unique value.

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’); 

The provided SQL statement would insert a new record into the “Persons” table, assigning a unique value to the “Personid” column, with the “FirstName” column set to “Lars” and the “LastName” column set to “Monsen”.

Syntax for Oracle

In Oracle, creating an auto-increment field involves utilizing the sequence object, which generates a numerical sequence.

Utilize the provided CREATE SEQUENCE syntax.

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

The provided code initializes a sequence object named seq_person, which commences with 1 and increments by 1 for each subsequent value. Additionally, it caches up to 10 values to enhance performance. The cache parameter determines the number of sequence values stored in memory for quicker retrieval.

To add a new entry to the “Persons” table, we need to utilize the nextval function. This function fetches the subsequent value from the seq_person sequence.

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,‘Lars’,‘Monsen’); 

The SQL statement provided would insert a fresh entry into the “Persons” table. The “Personid” column would be allocated the following number from the seq_person sequence. Meanwhile, the “FirstName” column would be designated as “Lars”, and the “LastName” column would be designated as “Monsen”.