SQL AUTO_INCREMENT / IDENTITY
To auto-generate unique values (usually for primary keys), databases offer built-in features like AUTO_INCREMENT (MySQL), IDENTITY (SQL Server), and GENERATED AS IDENTITY (PostgreSQL, Oracle). πΉ Basic Usage by DBMS πΉ Insert Example πΉ Controlling Identity (Optional) π§ Quick Recap Key Point Explanation Purpose Auto-generate unique IDs (usually for primary key) MySQL Syntax AUTO_INCREMENT SQL Server […]
To auto-generate unique values (usually for primary keys), databases offer built-in features like AUTO_INCREMENT (MySQL), IDENTITY (SQL Server), and GENERATED AS IDENTITY (PostgreSQL, Oracle).
πΉ Basic Usage by DBMS
-- MySQL
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100)
);
-- SQL Server
CREATE TABLE employees (
id INT IDENTITY(1,1) PRIMARY KEY, -- (start, increment)
name VARCHAR(100)
);
-- PostgreSQL & Oracle (modern versions)
CREATE TABLE employees (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100)
);πΉ Insert Example
INSERT INTO employees (name) VALUES ('Alice');
-- No need to provide `id`; it auto-generatesπΉ Controlling Identity (Optional)
- MySQL: You can set
AUTO_INCREMENT = valueto restart or offset. - SQL Server: Use
DBCC CHECKIDENTto reseed identity values. - PostgreSQL: Use sequences behind the scenes (can
ALTER SEQUENCE). - Oracle: Uses sequences automatically with
IDENTITY.
π§ Quick Recap
| Key Point | Explanation |
|---|---|
| Purpose | Auto-generate unique IDs (usually for primary key) |
| MySQL Syntax | AUTO_INCREMENT |
| SQL Server | IDENTITY(start, increment) |
| PostgreSQL/Oracle | GENERATED AS IDENTITY |
| Insert Simplicity | No need to provide the ID during insert |
π‘ Use auto-increment/identity columns to simplify primary key management and ensure uniqueness without manual effort.