插入两个表(相同的DB)如何从一个表中获取唯一ID?

时间:2011-09-21 12:12:18

标签: php mysql sql

首先请原谅我对SQL的不了解,我之前只做过基本的插入。

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

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

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

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

我目前的代码就是这个......

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

第一次查询后,

mysql_insert_id()会给你id

  

我想插入一些通过_GET

获得的数据

那是错的。这些数据应该通过POST获得

答案 2 :(得分:0)

扩展@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