2

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

table_hiring
招聘id int(20) AUTOINCREMENT => (主键);
招聘名称 varchar(80);
招聘日期 bigint(20);
……

我有另一个表来存储工具及其租用价格,其中有:

table_tools
tool_id int(10)AUTOINCREMENT => (主键);
tool_description varchar(100);
tool_price 双倍;

每个雇用请求都将保存在雇用表中。我的问题是每个租用请求都可以有多个工具(它是一个地面租用。所以租用者可以请求一个障碍组、一个射击组和一个标枪组等等。)。我对在单个字段中存储多个值的问题感到困惑。我做了一些研究,并决定有另一张桌子

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 值?请帮助...提前谢谢...

4

2 回答 2

1

对于 PHP,可以使用mysql_insert_id(). 对于 .NET,看看这个.

于 2012-06-01T13:31:16.323 回答
0

请看看这个论坛,

获取事务中的所有插入 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
于 2012-06-01T13:32:22.367 回答