将一个表中的最后一个主键作为外键插入另一个表

时间:2014-10-17 12:26:13

标签: php mysqli

我正在尝试找到一种方法,将Table1中的最后一个主键作为外键插入Table2

到目前为止,我已尝试SELECT max(‘id‘) FROM table1 as foreign_key blablablablablabla

如果一个用户在当前时间注册,它会起作用;但是,如果5个用户同时注册,则外键错误。

1 个答案:

答案 0 :(得分:1)

您可以通过多种方式执行此操作。

创建触发器

您可以在table1插入table2后创建触发器。例如;

CREATE TRIGGER `add to other table` AFTER INSERT ON `table1`
FOR EACH ROW INSERT INTO table2 SET user_id=NEW.id, name=NEW.username;

使用PHP

例如,您可以使用mysqli::insert_id执行此操作; (你会绑定并消毒输入,但为了说明,我不会)

 $mysql->query("INSERT INTO `table1` SET `username`='pokrenz'");
 $intForeignKey = $mysql->insert_id;
 $mysql->query("INSERT INTO `table2` SET `id` = ". $intForeignKey);