这是我在网站上的第一篇文章。我是mysql和php的新手所以请原谅任何错误并善意地指出它们。 我有一张表来存储招聘细节:
table_hiring
hiringid int(20)AUTOINCREMENT => (主键);
招聘名称varchar(80);
聘请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表中?请帮忙...提前致谢...
答案 0 :(得分:1)
对于PHP,可以使用mysql_insert_id()
找到它。
对于.NET,请查看this。
答案 1 :(得分: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