INSERT然后SELECT选择插入的行

时间:2014-08-08 06:00:46

标签: mysql select insert

我的表格结构,表格名称-user_tb

User_Id  Name      Mob_No   City
=================================
100      Sumith    34542    dfsc
101      Yadhu     35485    dfgd
102      Aby       34234    jhhg

此处 User_Id 列是 auto_increment 并使用此查询将值插入此表

insert into user_tb(Name,Mob_No,City) values('Yadhu',34542,'dfsc');

我需要在插入时获取Person的User_Id 即,当使用此查询插入时,

insert into user_tb(Name,Mob_No,City) values('Yadhu',34542,'dfsc');

我需要获得User_id-101 这有可能......

任何人都可以帮我完成这个。

2 个答案:

答案 0 :(得分:0)

在Mysql中:使用LAST_INSERT_ID()函数; http://dev.mysql.com/doc/refman/5.0/en/mysql-insert-id.html

如果PHP:使用 mysql_insert_id()来获取查询插入的最后一个ID。 http://php.net/manual/en/function.mysql-insert-id.php

答案 1 :(得分:0)

AUTO_INCREMENT语句之后获取使用INSERT的列的值可以通过多种不同方式实现。要在INSERT之后立即获取值,请使用SELECT函数LAST_INSERT_ID()查询。

例如,使用Connector / ODBC,您将执行两个单独的语句,INSERT语句和SELECT查询以获取自动增量值。

insert into user_tb(Name,Mob_No,City) values('Yadhu',34542,'dfsc');
SELECT LAST_INSERT_ID();

如果您不需要应用程序中的值,但确实需要将该值作为另一个INSERT的一部分,则可以通过执行以下语句来处理整个过程:

insert into user_tb(Name,Mob_No,City) values ('Yadhu',34542,'dfsc');
insert into tbl2 (id,text) VALUES (LAST_INSERT_ID(),'text');