2012-06-01 36 views
2

这是我在该网站上的第一篇文章。我是一个MySQL和PHP新手,所以请原谅任何错误,并请指出。 我有一个表来存储雇用细节:使用第一张表的自动增量ID更新第二张表

table_hiring
hiringid INT(20)自动增量=>(主键);
hiringname varchar(80);
hiringdate bigint(20);
... ...

我还有一个表来存储它的工具和他们的出租价格:

table_tools
tool_id INT(10)AUTOINCREMENT =>(主键);
tool_description varchar(100);
tool_price double;

每个雇用请求将被保存在招聘表中。我的问题是,每个招聘要求可以有多个工具(它是地面招聘,所以招聘人员可以要求设置障碍,铅球套装和标枪等)。我很难将单个字段中存储多个值的问题。我做了一些研究,并决定有另一个表

table_tool_hire
tool_hire_id()=>(从table_hiring主键);
tool_id()=>(来自table_tools的主键);
tool_hire_date bigint(20);

问题是,每次有租用请求时,根据租用者的请求,我需要在一个查询中填充table_hiring和table_tool_hire,租用Id需要在这两个表中匹配。

如何将值插入到table_hiring中,并同时将该雇佣的自动增量id值更新到table_tool_hire表中?请帮助...在此先感谢...

回答

1

对于PHP,这是找到mysql_insert_id()。 对于.NET,请看this

+0

谢谢你的反应杰里米..我认为mysql_insert_id()应该解决我的问题..试了一下后会再次发布..你让我的生活变得更容易...:D – sujith

+0

工作像一个魅力!该函数应在查询执行后立即调用,但...再次感谢! – sujith

0

请看看这个论坛,

Get all insert ids in a transaction

您可以使用变量的存储在那里的最后一个插入ID,

INSERT INTO messages(`message`) VALUES ('message1'); 
@message1:=last_insert_id(); 
INSERT INTO messages_tags(`message_id`, `tags`) VALUES (LAST_INSERT_ID(), 'tagfoo1'); 
@message2:=last_insert_id(); 

如果你让

select @message1; 

结果将是1234,所以你有

@message1 => 1234 
@message2 => 1235 
相关问题