Campo AUTO INCREMENT SQL
- Página Anterior Alterar SQL
- Próxima Página Visualização SQL
O auto-increment gera um número único quando um novo registro é inserido na tabela.
Campo AUTO INCREMENT
Normalmente, esperamos que o valor do campo chave primária seja criado automaticamente toda vez que inserirmos um novo registro.
Podemos criar um campo auto-incremento na tabela.
Sintaxe para MySQL
A seguinte declaração SQL define a coluna "P_Id" na tabela "Persons" como chave primária auto-incremento:
CREATE TABLE Persons ( P_Id int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )
O MySQL usa a palavra-chave AUTO_INCREMENT para executar a tarefa de auto-incremento.
Por padrão, o valor inicial de AUTO_INCREMENT é 1, aumentando 1 para cada novo registro.
Para que a sequência AUTO_INCREMENT comece em outro valor, use a seguinte sintaxe SQL:
ALTER TABLE Persons AUTO_INCREMENT=100
Para inserir um novo registro na tabela "Persons", não precisamos especificar um valor para a coluna "P_Id" (um valor único será adicionado automaticamente):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
A seguinte declaração SQL inserirá um novo registro na tabela "Persons". "P_Id" será atribuído um valor único. "FirstName" será configurado como "Bill", a coluna "LastName" será configurada como "Gates".
Sintaxe para SQL Server
A seguinte declaração SQL define a coluna "P_Id" na tabela "Persons" como chave primária auto-incremento:
CREATE TABLE Persons ( P_Id int PRIMARY KEY IDENTITY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
O MS SQL usa a palavra-chave IDENTITY para executar a tarefa de auto-incremento.
Por padrão, o valor inicial de IDENTITY é 1, aumentando 1 para cada novo registro.
Para definir que a coluna "P_Id" comece em 20 e aumente em 10, mude identity para IDENTITY(20,10):
Para inserir um novo registro na tabela "Persons", não precisamos especificar um valor para a coluna "P_Id" (um valor único será adicionado automaticamente):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
A seguinte declaração SQL inserirá um novo registro na tabela "Persons". "P_Id" será atribuído um valor único. "FirstName" será configurado como "Bill", a coluna "LastName" será configurada como "Gates".
Sintaxe para Access
A seguinte declaração SQL define a coluna "P_Id" na tabela "Persons" como chave primária auto-incremento:
CREATE TABLE Persons ( P_Id int PRIMARY KEY AUTOINCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
O MS Access usa a palavra-chave AUTOINCREMENT para executar a tarefa de auto-incremento.
Por padrão, o valor inicial de AUTOINCREMENT é 1, aumentando 1 para cada novo registro.
Para definir que a coluna "P_Id" comece em 20 e aumente em 10, mude autoincrement para AUTOINCREMENT(20,10):
Para inserir um novo registro na tabela "Persons", não precisamos especificar um valor para a coluna "P_Id" (um valor único será adicionado automaticamente):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
A seguinte declaração SQL inserirá um novo registro na tabela "Persons". "P_Id" será atribuído um valor único. "FirstName" será configurado como "Bill", a coluna "LastName" será configurada como "Gates".
Sintaxe para o Oracle
No Oracle, o código é um pouco mais complexo.
Você deve criar um campo auto-increment (o objeto gera uma sequência de números) através da sequência.
Use a seguinte sintaxe CREATE SEQUENCE:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
O código acima cria um objeto de sequência chamado seq_person, que começa em 1 e aumenta em 1. O objeto armazena 10 valores para melhorar o desempenho. A opção CACHE determina quantos valores da sequência devem ser armazenados para melhorar a velocidade de acesso.
Para inserir um novo registro na tabela "Persons", devemos usar a função nextval (esta função pega o próximo valor da sequência seq_person):
INSERT INTO Persons (P_Id,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen')
A seguinte declaração SQL inserirá um novo registro na tabela "Persons". O valor atribuído a "P_Id" é o próximo número da sequência seq_person. "FirstName" será configurado como "Bill", a coluna "LastName" será configurada como "Gates".
- Página Anterior Alterar SQL
- Próxima Página Visualização SQL