如何将即时制作的行键添加到另一个表中。

时间:2014-02-03 04:31:59

标签: c# mysql asp.net webforms

我有一个名为 product 的表,其中有一个名为 id 的字段,它是主键。我需要将此密钥放在我的另一个表 pro_size_tbl 中,如下所示

pro_size_tbl 
==================
id
productid
sizeid

问题是,当用户添加产品时,产品的大小会保存在会话中,并且我尝试使用产品密钥将其保存在 pro_size_tbl 中。

我现在正在做的事情是我在产品表中添加产品,在下一行我正在检索产品表的最大ID并将其用作 pro_size_tbl 。
我的问题是有没有更好的方法来做这件事?

4 个答案:

答案 0 :(得分:2)

这很简单。您可以使用LAST_INSERT_ID()。请参阅此示例:

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
SET @last_id_in_table1 = LAST_INSERT_ID();

答案 1 :(得分:1)

有一个函数LAST_INSERT_ID()可以为您提供所需的值。

但你需要在insert语句下面使用。

答案 2 :(得分:0)

如果是的话,这是真正的交易

$sql_tbl1 = "insert here for first table";
$result_tbl1 = mysql_query($sql_tbl1) or die(mysql_error());

$id = mysql_insert_id();

$sql_tbl2 = "insert here value ($id, 'bla', 'bla')";
mysql_query(sql_tbl2);

答案 3 :(得分:0)

LAST_INSERT_ID()函数没问题,但它正在做同样的工作,因为我正在采取最大值。我猜两种方式都是相同的。