I want to know how I can do to send the fk
to another table at the same time that I register, I have 10 tables and the tables have pk
which I want to send to another table
I make the registration of the 10 tables at the same time from the same form.
create table personal(
curp varchar(18) not null,
nombre char(35) not null,
area char(35) not null,
cargo char(35) not null,
primary key(curp));
create table cpu_laptop(
marca char(24) null,
modelo varchar(50) not null,
serien varchar(30) not null,
namepc varchar(50) not null,
maceth varchar(40) null,
macwifi varchar(30) null,
primary key(serien));
create table printer(
marca_printer char(24) null,
modelo_printer varchar(50) not null,
serien_printer varchar(30) not null,
maceth_printer varchar(40) null,
macwifi_printer varchar(30) null,
primary key(serien_printer));
create table accesorios(
idacces int auto_increment not null,
descripcion varchar(600) not null,
primary key(idacces));
create table monitor_smartTv(
marca_monitor char(24) null,
modelo_monitor varchar(50) not null,
serien_monitor varchar(30) not null,
maceth_monitor varchar(40) null,
macwifi_monitor varchar(30) null,
primary key(serien_monitor));
create table teclado(
marca_teclado char(24) null,
modelo_teclado varchar(50) not null,
serien_teclado varchar(30) not null,
primary key(serien_teclado));
create table mouse(
marca_mouse char(24) null,
modelo_mouse varchar(50) not null,
serien_mouse varchar(30) not null,
primary key(serien_mouse));
create table celular(
marca_celular char(24) null,
modelo_celular varchar(50) not null,
serien_celular varchar(30) not null,
macwifi_celular varchar(30) null,
nombre_celular varchar(50) not null,
primary key(serien_celular));
create table telefono(
marca_telefono char(24) null,
modelo_telefono varchar(50) not null,
serien_telefono varchar(30) not null,
extencion_telefono int null,
primary key(serien_telefono));
todas la pk las debo enviar a esta tabla
create table asignacion(
idasigna int auto_increment not null,
fecha date not null,
curpuser varchar(18) not null,
seriecpulap varchar(30) not null,
seriepantalla varchar(30) not null,
serieteclado varchar(30) not null,
seriemouse varchar(30) not null,
serieprinter varchar(30) not null,
seriecel varchar(30) not null,
serietel varchar(30) not null,
idacces int not null,
status char not null,
primary key(idasigna),
foreign key(curpuser) references personal(curp),
foreign key(seriecpulap) references cpu_laptop(serien),
foreign key(seriepantalla) references monitor_smartTv(serien_monitor),
foreign key(serieteclado) references teclado(serien_teclado),
foreign key(seriemouse) references mouse(serien_mouse),
foreign key(serieprinter) references printer(serien_printer),
foreign key(seriecel) references celular(serien_celular),
foreign key(serietel) references telefono(serien_telefono),
foreign key(idacces) references accesorios(idacces))engine=innodb;
I have tried to do this with a stored process to do the registration and send pk
but it marks error.
delimiter //
create procedure agregartodas(
in curp varchar(18),
in nombre char(35),
in area char(35),
in cargo char(35),
in marca char(24),
in modelo varchar(50),
in serien varchar(30),
in namepc varchar(50),
in maceth varchar(40),
in macwifi varchar(30),
in marca_printer char(24),
in modelo_printer varchar(50),
in serien_printer varchar(30),
in maceth_printer varchar(40),
in macwifi_printer varchar(30),
in idacces int,
in descripcion varchar(600),
in marca_monitor char(24),
in modelo_monitor varchar(50) ,
in serien_monitor varchar(30),
in maceth_monitor varchar(40),
in macwifi_monitor varchar(30),
in marca_teclado char(24),
in modelo_teclado varchar(50),
in serien_teclado varchar(30),
in marca_mouse char(24),
in modelo_mouse varchar(50),
in serien_mouse varchar(30),
in marca_celular char(24),
in modelo_celular varchar(50),
in serien_celular varchar(30),
in macwifi_celular varchar(30)
in nombre_celular varchar(50),
in marca_telefono char(24),
in modelo_telefono varchar(50),
in serien_telefono varchar(30),
in extencion_telefono int,
)
BEGIN
insert into personal VALUES(curp,nombre,area,cargo);
SELECT max(curp) into @curp from personal;
insert into asignacion VALUES(curp);
END//
delimiter ;