繁体   English   中英

使用第一个表的自动递增的ID更新第二个表

[英]update second table with the autoincremented id of the first table

这是我在网站上的第一篇文章。 我是mysql和php的新手,所以请原谅任何错误并指出错误。 我有一张桌子来存储招聘信息:

table_hiring
hiringid int(20)AUTOINCREMENT =>(主键);
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中,同时获取要更新到table_tool_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

暂无
暂无

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

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