两个具有相同id的sql表

时间:2017-06-11 22:24:49

标签: php mysql sql foreign-keys

我试图实现的目标是什么,我认为很容易,但我无法弄清楚如何去做。我在MySql数据库工作。

我的主表名为MyGuests,其中包含AI id_guests,第二个表名为Information,其中包含AI id_info和非AI id_guests。我希望id_guests表中的Informationid_guests表中的MyGuests具有相同的值。

基本上我尝试使用ID将信息表链接到MyGuests表。我尝试了外键,但不知何故,信息表中的id始终为0。 也许我做错了什么,我不知道......我做过这个:

ALTER TABLE Information ADD FOREIGN KEY (id_guests) REFERENCES MyGuests(id_guests);

如果有人能告诉我我做错了什么或者告诉我该怎么做,我真的很感激

1 个答案:

答案 0 :(得分:0)

您应该在与外键相同类型的现有列上创建约束。

alter table Information add constraint fk_id_guests foreign key(id_guests) references MyGuests (id_guests)

列应该等于两个表。

alter table MyGuests modify id_guests int(5) PRIMARY KEY AUTO_INCREMENT

alter table Information modify id_guests int(5) not null

获取最后一个ID已插入表格中。

$query = "insert into MyGuests(id_guests) values (1)";

mysqli_query($conn, $query)

$id_guests = mysqli_insert_id($conn);

$query = "insert into Information(id_guests)values(".$id_guests.")";