当前位置: 首页 > 知识库问答 >
问题:

如何使用其余表的自动递增值插入到多个表中

百里业
2023-03-14

例如,我有一个包含2个表的数据库。第一个表(表 1)包含:

  userId int not null auto_increment primary key
  userEmail
  userPassword

userId 是我的主键,它是自动递增的。我的下一个表(表2)有:

 userProfileId int not null auto_increment primary key
 userAge
 userGender
 userId 

userId(来自表2)是我引用表1(userId)的外键。是否有一种方法可以插入到两个表的所有信息中,并使表2中的用户ID自动从表1中获取它引用的主键?或者,我必须为每个表执行多个插入,并显式地使外键具有相同的值。

共有1个答案

孙言
2023-03-14

您可以使用mysql的“Last_insert_id”,如下所示-

<?php
$user_query="INSERT INTO accounts (userId,userEmail,userPassword) VALUES (NULL,'saving@gmail.com','XXXXXXXXX')";
$profile_query="INSERT INTO transactions(userProfileId,userAge,userGender,userId) VALUES (NULL,25,'m'LAST_INSERT_ID)";

$a_query=mysql_query($user_query);
$t_query=mysql_query($profile_query);
?>

注意:mysql_*已被否决。相反,你可以使用PDO语句。

参考文献:http://in3.php.net/manual/en/function.mysql-insert-id.php

回复 : http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

 类似资料:
  • 您好,我尝试使用mysqli从第一个表中获取autoincrement id,然后插入到第二个表中,这是我为每个表设计的数据库 表用户 表siswa 这就是我尝试过的 数据插入到用户表中,但不插入到siswa表中,对此有何建议? 编辑:被忽略的变量只($jkortu)现在修复,谢谢

  • MySQL中有两个表,如下所示: 请注意,category_id是类别表中category_key的FOREIGN KEY 我想在第三个表(名为“catalog”)中插入目录项,这样每个目录ID都将从其类别和子类别ID生成,每个类别子类别ID的串联编号都会自动递增。 例如: 假设“categories”表中有一行的categories_键为“ABC”,而“sub_categories”表中也有一行

  • 本文向大家介绍如何使用JDBC将数据插入具有自动递增列的表中?,包括了如何使用JDBC将数据插入具有自动递增列的表中?的使用技巧和注意事项,需要的朋友参考一下 在将数据插入具有自动递增列的表中时,只需保留该特定列,并使用INSERT语句的以下语法指定其余列即可插入剩余值- 示例 让我们使用CREATE语句在MySQL数据库中创建一个名称为sales的表,其中一列自动递增,如下所示- 以下JDBC程

  • 我在数据库中有一个表: > < li> 用户角色(字典) id 名称(管理员、用户…) 用户登录 Id 电子邮件 密码 用户简介 Id 名字 姓氏 用户 Id IdUserLogin(FK) IdUserRole(FK) 标识用户配置文件(FK) 如何将值插入上述三个表? 我尝试了这样的东西: 控制器: JSP页面:

  • 问题内容: 在MySQL中,我试图复制一排的 自动增量 和 插入 数据到同一个表的新行。 如何在单个查询中执行此操作? 问题答案: 用途: 除以外的所有列都在哪里?如果要显式插入2,则将其包括在INSERT列列表和SELECT中: 当然,在第二种情况下,您必须注意2 的可能重复项。

  • 问题内容: 我生成一个SQLite表(在Java中): 之后,我尝试使用INSERT命令添加行: 我得到错误: 我以为行ID会自动生成,但似乎我什么都没想。 我尝试了另一种解决方案: 结果,我在“ prep.setInt(1,n);”处收到一个空指针异常。 看到故障了吗? 问题答案: 您是否尝试指出要传递的参数应该与表的哪些字段相关? 在您的情况下,可能类似于: