繁体   English   中英

插入两个表(相同的数据库)中,如何从一个表中获得唯一的ID?

[英]Inserting into two tables (same DB) how do I get the unique ID from one table?

首先,请原谅我缺乏SQL知识,之前我只做过基本的插入操作。

我目前正在完善我拥有的一个小系统,我想将通过_GET(php)获得的一些数据插入两个表中。 我的问题如下。

我的第一个表(table_one)具有一个称为“ id”的自动递增值,我需要获取该值并将其发布到第二个表(table_two)中。

由于以后将更新数据的方式,表二中的ID是对插入表一时自动生成的ID的引用(因此下面的代码中没有ID)。 (我将使用表一中的ID对table_two中每个匹配的ID实例进行for循环)

如何运行一个查询来更新一个表,然后使用从第一个表获得的唯一ID更新第二个表?

我当前的代码是这个...

INSERT INTO table_one (valueone,valuetwo,valuethee) VALUES ('$v1','$v2','$v3')

您可以使用php命令内置的mysql_insert_id() ,这将为您提供最近插入的数据的ID

mysql_query("insert into.... ");
$a = mysql_insert_id();

mysql_insert_id()在第一个查询后会给你id

我想插入一些通过_GET获得的数据

错了 此数据应通过POST获得

扩展@Ujjwal的答案,您可以仅使用SQL进行相同的操作。

INSERT INTO table1 (x,y) VALUES ('x','y');
INSERT INTO table2 (t1_id, z) VALUES (LAST_INSERT_ID(), 'z');

参见: http : //dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM