En este post te mostraré un ejemplo de cómo agregar una columna a una tabla y además convertir esa columna en una llave o clave foránea. Es decir, primero la agregamos y después la convertimos en llave.
Agregar columna
Para agregar una columna en MySQL hacemos:
ALTER TABLE tabla ADD COLUMN columna DEFINICIÓN;
En mi caso tengo una tabla de materias y la relacionaré con la tabla cursos, así que es:
alter table materias add column id_curso bigint unsigned;
Con eso hemos agregado la columna pero no la clave. Es importante notar que mi columna se llama id_curso.
Crear clave foránea
Ahora que tenemos la columna vamos a crear una restricción o constraint con:
ALTER TABLE tabla ADD CONSTRAINT nombre_constraint FOREIGN KEY(columna_creada_anteriormente) REFERENCES tabla(columna);
En mi caso tengo la columna llamada id_curso y la relacionaré con la columna id de la tabla cursos así que queda de la siguiente manera:
Finalmente al mostrar la estructura de la tabla vemos que es correcto y que en la columna Key tiene MUL.
describe materias;
+------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+----------------+
| id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| nombre | text | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| id_curso | bigint(20) unsigned | YES | MUL | NULL | |
+------------+---------------------+------+-----+---------+----------------+
Estoy aquí para ayudarte
Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto
No te pierdas ninguno de mis posts
Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
Resumen: en este post te muestro cómo modificar o alterar una tabla de MySQL para agregar una columna y hacer que esa columna sea una clave foránea. Las relaciones en MySQL son importantes para tener datos en distintas tablas y no caer en la redundancia de campos. En ocasiones vamos…
En este post te enseñaré algo muy simple pero de lo cual no encontré información al respecto: cómo agregar una clave foránea (relación) a una tabla de SQLite con un ALTER TABLE agregando una columna con ADD COLUMN. Es decir, vamos a agregar una Foreign Key a una tabla existente…
En este post sobre bases de datos te enseñaré a agregar un índice a una columna de cualquier tabla en MySQL y MariaDB. Recuerda que agregamos índices a las columnas para optimizar las consultas. Esto no siempre es necesario, solo lo es cuando vamos a hacer varias consultas (o consultas…