php - 用第一个表的autoincremented id更新第二个表

  显示原文与译文双语对照的内容

这是我在网站上的第一篇文章。 我是一个有mysql和php的新手,所以请求所有错误,请指出它们。 我有一个表格来存储招聘详情:

table_hiring
hiringid int(20) 自动递增=> ( 主键) ;
hiringname varchar(80) ;
hiringdate bigint(20) ;
。。

我还有其他表格来存储这些工具及其雇用价格,其中包括:

table_tools
tool_id int ( 10 ) 增量=> ( 主键) ;
tool_description varchar(100) ;
tool_price double ;

每个招聘申请都将保存在招聘表格中。 我的问题是每个招聘请求都可以有多个工具( 它是一个 ground 。 所以hirer可以请求一个障碍集,一个shotput集和一个标记集等等。 我遇到了在单个字段中存储多个值的问题。 我做了一些研究并决定有另一张桌子

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

问题是每次有雇用请求,根据hirer请求,我需要在一个查询中填充table_hiring和 table_tool_hire 。

如果要将该值插入table_hiring并同时获取要更新到表中的hire id,如何将这些值插入到? 请帮助。请提前。

时间: 原作者:

对于 PHP,这是用 mysql_insert_id() 找到的。 对于. NET,请看一下这个版本的

原作者:

请看这个论坛

获取事务中的所有插入 id 。

你可以使用变量存储在最后一个插入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



原作者:
...