我正试图围绕多对多表连接。
我有三个表:Modules
,Phases
和Module_Phases
(联合)。
Modules
和Phases
都将主键设置为auto_increment。
create table Modules
(
MID int not null auto_increment primary key,
modulesID int unique,
title varchar(20),
article Text,
dateAdded datetime default null,
UID int,
pictureurl varchar(100),
linkurl varchar(50),
KID int
);
create table Phases
(
PID int not null auto_increment primary key,
phasesID int(1),
phasename varchar(30),
phaseage varchar(10),
phasearea varchar (30),
MID int
);
create table Phases_Modules
(
PID int not null,
MID int not null
);
当我插入表格时,我通常会忽略主键并只使用:
insert into Modules(modulesID,title,article,pictureurl,linkurl) values (1,"namex","textcontent","text2","text3");
在网络上,我看到有人建议使用:
insert into Phases_Modules(PID,MID) values (x,x);
但由于两个表都在主键上有auto_increment,我该如何使用正确的ID键?我见过他们使用LAST_INSERT_ID
的一些例子。但是,我可以使用这样的东西:
insert into Phases_Modules(PID,MID) values (PID where Phases.phaseID=x, Modules.Last_Insert_ID);
我知道这是一种虚假的行,但它只是试图解释这个问题。 :)