Tengo las siguientes tablas. Para no delegar la integridad en la aplicación, decidí añadir claves foráneas pero no termino de comprender el funcionamiento. Dejo las tres tablas que quisiera conectar:
Código SQL:
[/CODE]Ver original
CREATE TABLE usuarios ( id INT NOT NULL AUTO_INCREMENT, nombre VARCHAR(50) NOT NULL, apellido VARCHAR(50) NOT NULL, activo tinyint(1) NOT NULL DEFAULT 0, dni VARCHAR(10), observaciones longtext, INDEX (id), PRIMARY KEY (id)) engine=InnoDB; CREATE TABLE usuarios_aux_nivel_acceso ( id INT NOT NULL AUTO_INCREMENT, id_usuario INT NOT NULL, id_nivel_acceso INT NOT NULL, INDEX (id), INDEX (id_usuario), INDEX (id_nivel_acceso), PRIMARY KEY (id)) engine=InnoDB; CREATE TABLE aux_nivel_acceso ( id INT NOT NULL AUTO_INCREMENT, nivel INT NOT NULL, nombre VARCHAR(30) NOT NULL, descripcion longtext NOT NULL, INDEX (id), PRIMARY KEY (id)) engine=InnoDB; ALTER TABLE usuarios_aux_nivel_acceso ADD CONSTRAINT fk_nivel_acceso_nivel FOREIGN KEY (id_nivel_acceso) REFERENCES aux_nivel_acceso(id); ALTER TABLE usuarios_aux_nivel_acceso ADD CONSTRAINT fk_nivel_acceso_usuario FOREIGN KEY (id_usuario) REFERENCES usuarios(id);
Gracias!