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).
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Por consiguiente teniendo la siguiente tabla:
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.