Campo auto_increment y primary key MySQL

Bases de datos

Cuando empezamos a desarrollar bases de datos nos damos cuenta que uno de los aspectos fundamentales al momento de crear las entidades (Tablas), es establecer la Primary Key (Llave primaria o clave principal), sin embargo cuando logramos tal cometido necesitamos llenar muy cuidadosamente el campo de la llave primaria de lo contrario podríamos tener problemas al momento de insertar, actualizar o borrar registros en las tablas, en este artículo tocaremos el campo auto_increment y primary key MySQL con el fin de dar claridad en como manejarlos.

Campo auto_increment y primary key MySQL

Antes de empezar con cualquier código hablemos de algunas generalidades y conceptos básicos.

¿Que es una primary key en MySQL?

Una Primary Key y no solo en MySQL si no en todos los Sistemas Gestores de Bases de Datos relacionales es un campo o atributo (En algunos casos una combinación de atributos) en una entidad que identifica de forma única e irrepetible una fila o registro de una tabla, por tanto en una tabla solo podrá existir una sola clave principal sin valores nulos (NULL).

Por consiguiente teniendo la siguiente tabla:

Campo auto_increment y primary key mysql

 

Podemos definir muy fácilmente que su llave primaria seria el campo o atributo Id, dado que si analizamos un poco teniendo una lista de clientes podrán existir muchos con el mismo nombre o apellido y hasta con el mismo nombre y apellido, entonces el único campo que no se repetirá en la tabla será el campo Id (La Primary Key).

¿Como crear una tabla en MySQL con Primary Key?

Siguiendo con el ejemplo anterior de nuestra tabla clientes, veamos como podemos crearla en MySQL estableciendo su llave primaria:

CREATE TABLE clientes (
Id int NOT NULL,
Nombre VARCHAR (50),
Apellido VARCHAR (50),
PRIMARY KEY (Id)
);

Tan solo al final de todos los campos de la tabla indicamos que campo actuará como llave primaria.

¿Que es un campo auto_increment en MySQL?

Un campo auto_increment normalmente es utilizado como llave primaria, se le llama de esta forma por que la base de datos va asignando un valor cada vez mayor a medida que se insertan registros, permitiendo al programador olvidarse de verificar cual es el último Id que se guardó en la tabla, esto es muy útil ya que es muy común que las aplicaciones sean utilizadas por varios usuarios al tiempo, insertando registros “casi al tiempo”.

¿Como crear un campo auto_increment en MySQL?

La creación de este tipo de campos es muy sencillo veamos el ejemplo con la misma tabla clientes:

CREATE TABLE clientes (
Id INT NOT NULL AUTO_INCREMENT,
Nombre VARCHAR (50),
Apellido VARCHAR (50),
PRIMARY KEY (Id)
);

de esta forma al momento de hacer un INSERT a la tabla clientes nos preocupamos solo por pasar los valores a los campos Nombre y Apellido.

Otro valor para los campos auto_increment y primary key es que mediante ellos realizamos las relaciones con otras entidades de la base de datos, en el siguiente post Relacionar tablas en MySQL por consola podrás ver un ejemplo.