Autoincremento en SQL Server con Identity
En SQL Server se puede utilizar el autoincremento en una columna (por ejemplo, en un id) para aumentar automáticamente un número en cada registro (como el auto_increment de otros motores).
Hoy vamos a ver cómo definir columnas incrementables usando IDENTITY
en SQL Server.
La sintaxis al declarar una columna con identity es la siguiente:
identity(numeroDesdeDondeComienza, incrementosPorCadaInsercion)
El modo de uso más común, sobre todo si venimos de otros motores en donde se comienza en uno y se aumenta de uno en uno, es el siguiente:
CREATE TABLE mascotas(
id bigint identity(1,1) primary key,
nombre varchar(50) NOT NULL,
edad smallint NOT NULL
);
Al insertar registros el ID va a aumentar de 1 en 1:
Este es el modo más común, pero podemos jugar con identity un poco más.
La tabla se puede definir como identity(1, 2)
para que comience en 1 y aumente de 2 en 2.
CREATE TABLE personas(
id bigint identity(1,2) primary key,
nombre varchar(50) NOT NULL,
edad smallint NOT NULL
);
insert into personas
(nombre, edad)
values
('John Galt', 30),
('Hannibal Lecter', 40),
('Wade Watts', 21);
select * from personas;
Al obtener los registros el resultado es el siguiente:
Para terminar, veamos el uso de identity(100, 2)
que va a comenzar a contar los valores a partir del 100 y va a aumentar en pasos de 2.
La consulta de creación e inserción es la siguiente:
CREATE TABLE videojuegos(
id bigint identity(100,2) primary key,
nombre varchar(50) NOT NULL
);
insert into videojuegos
(nombre)
values
('Super Mario Bros'),
('Snow Bros'),
('Metal Slug'),
('Resident Evil 4'),
('Color Sheep'),
('Cut the rope');
select * from videojuegos;
Al obtener los datos, los registros comienzan en 100, el segundo es 102 y así sucesivamente:
Así es como se utiliza IDENTITY en SQL Server
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.
Ver comentarios