首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据发送到两个具有相同用户ID作为主键的表?

问如何将数据发送到两个具有相同用户ID作为主键的表?
EN

Stack Overflow用户
提问于 2013-12-04 20:05:38
回答 2查看 3.4K关注 0票数 2

我对PHP完全陌生,我正在尝试创建一个注册页面。要注册,用户必须创建用户名、密码、电子邮件,并将其放入一个名为users的表中。

它们还输入地址详细信息,将其放入一个名为customer_info的表中。

在这两个表中,我都创建了一个自动增量,名为“user_id”的主键。

当表单完成后,它会填写并输入数据,但是数据没有带状,因此有两个user_id,一个在users中,一个在customer_info中。

首先,我创建已经输入的值(来自post),并将它们赋值给变量。然后使用以下查询将这些变量放入表中:

代码语言:javascript
复制
$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

和

代码语言:javascript
复制
$result = mysql_query(
    "INSERT INTO `customer_info`(firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);

我如何设置它,使它只为两个表创建一个用户id (在数据集之间建立连接)?

我的查询中是否缺少一些应该连接表的内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-04 21:55:16

在之前,您不应该再使用mysql_*扩展了。前往PDO或米斯里

您的技术生成两个不同的唯一ids。关键是只有一个,这样它就可以是唯一的,并链接有关该唯一id的信息。

users表具有唯一的id user_id,这是您的auto_increment列。customer_info表也可以有一个info_id唯一列,但必须包含一个user_id列,该列将包含用户的user_id,将这些行链接到一起。

将外键添加到表中也是一个很好的时刻,这样数据的完整性就不会受到损害。

因此,在这个查询之后:

代码语言:javascript
复制
$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

获取插入id:

代码语言:javascript
复制
$id = mysql_insert_id();

然后使用它运行另一个查询:

代码语言:javascript
复制
$result = mysql_query(
    "INSERT INTO `customer_info`(user_id,firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$id','$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);
票数 3
EN

Stack Overflow用户

发布于 2013-12-04 20:14:33

我将USER_ID配置为AUTO_INCREMENT列,仅在Users表中,首先将数据插入Users表,然后获取插入用户的ID,使用mysql_insert_id ($connection_id);并在将数据插入Customer_Info表时使用该ID。这样,您还可以利用MySQL的ID生成(序列)特性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20384834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档