当ID为auto_increment时,MySQL会插入到多对多联结表中

时间:2016-04-03 10:05:02

标签: mysql database many-to-many junction-table

我正试图围绕多对多表连接。 我有三个表:ModulesPhasesModule_Phases(联合)。

ModulesPhases都将主键设置为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);

我知道这是一种虚假的行,但它只是试图解释这个问题。 :)

0 个答案:

没有答案