Example 1
Insert products without supplying the id column
The insert statements provide only name. The database fills id with 1 and 2 because the column was defined as an automatically generated key.
Engine-specific syntax
Setup
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);SQL
INSERT INTO
products (name)
VALUES
('Widget'),
('Gadget');
SELECT
id,
name
FROM
products
ORDER BY
id;| id | name |
|---|---|
| 1 | Widget |
| 2 | Gadget |
Engine-specific syntax
Setup
CREATE TABLE products (
id INT IDENTITY (1, 1) PRIMARY KEY,
name VARCHAR(50)
);SQL
INSERT INTO
products (name)
VALUES
('Widget'),
('Gadget');
SELECT
id,
name
FROM
products
ORDER BY
id;| id | name |
|---|---|
| 1 | Widget |
| 2 | Gadget |
Engine-specific syntax
Setup
CREATE TABLE products (
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name VARCHAR(50)
);SQL
INSERT INTO
products (name)
VALUES
('Widget'),
('Gadget');
SELECT
id,
name
FROM
products
ORDER BY
id;| id | name |
|---|---|
| 1 | Widget |
| 2 | Gadget |
Engine-specific syntax
Setup
CREATE TABLE products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(50)
);SQL
INSERT INTO
products (name)
VALUES
('Widget'),
('Gadget');
SELECT
id,
name
FROM
products
ORDER BY
id;| id | name |
|---|---|
| 1 | Widget |
| 2 | Gadget |
The table-definition syntax is engine-specific, but each insert omits the id and receives generated values.