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.
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
.
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:
ALTER TABLE materias
ADD CONSTRAINT FK_materias_cursos
FOREIGN KEY(id_curso)
REFERENCES cursos(id);
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 | |
+------------+---------------------+------+-----+---------+----------------+
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.