AUTO_INCREMENT to atrybut kolumny w MySQL, który powoduje automatyczne nadawanie kolejnych wartości liczbowych przy dodawaniu nowych rekordów. Najczęściej stosuje się go dla kolumny będącej kluczem głównym, np. id.
Typowe zastosowanie
Kolumna z AUTO_INCREMENT zwykle ma typ całkowity i jest zdefiniowana jako PRIMARY KEY:
CREATE TABLE pracownicy (
id INTEGER NOT NULL AUTO_INCREMENT,
imie VARCHAR(30),
nazwisko VARCHAR(50),
PRIMARY KEY (id)
);
Dzięki temu nie trzeba samodzielnie podawać wartości identyfikatora podczas wstawiania rekordu.
INSERT bez podania klucza
Jeżeli w instrukcji INSERT pominięto kolumnę id, MySQL sam przypisze jej kolejną dostępną wartość:
INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
Jeśli tabela jest pusta, id zwykle otrzyma wartość 1. Kolejny rekord otrzyma 2, następny 3 itd.
Ważne zasady
AUTO_INCREMENTdziała dla kolumn liczbowych, najczęściejINTlubINTEGER.- W jednej tabeli może być tylko jedna kolumna
AUTO_INCREMENT. - Kolumna taka powinna być indeksowana, najczęściej jako
PRIMARY KEY. - Nie należy mylić automatycznie nadanej wartości z
NULL— baza nie zapisuje tamNULL, tylko generuje liczbę.
Znaczenie egzaminacyjne
Jeżeli w pytaniu podano, że klucz główny ma INTEGER NOT NULL AUTO_INCREMENT, a zapytanie INSERT pomija to pole, poprawny wniosek jest taki: rekord zostanie dodany, a klucz główny otrzyma kolejną wartość naturalną.