1

我将从输入我想要的内容开始。

所以,我有一个表,其中每一行都会自动获取一个新的 id,对于在那里创建的每一行,我希望该 id 也可以放入另一个表中的特定列中。

数据库结构:事件

(这是我要从中复制 id 的表)

事件ID | 更多的列

-

数据库结构:可连接(这是我希望将“EventID”复制到的表)

事件ID | 更多列。

所以,我希望我的 EventID 也可以在我的表“事件”中放入一个事件时自动放入我的关节中。

4

1 回答 1

2

使用返回最后插入的自动生成 ID 的函数。

MySql中它 在SQL Server中它是SCOPE_IDENTITYIDENT_CURRENT@@IDENTITYLAST_INSERT_ID()

例如在 MySql 你可以做这样的事情

INSERT INTO event (column1,column2...) VALUES (...); 
SET @last_event_id = LAST_INSERT_ID();
INSERT INTO jointable (EventID, column1, column2...) VALUES (@last_event_id, ...);

更新: 要从客户端(php + mysqli)使用mysqli_insert_id()

在这种情况下,您的代码将如下所示

$db = mysqli_connect(...);
...
$query = "INSERT INTO event (column1, column2...) VALUES (...)";
mysql_query($query);

$last_event_id = mysqli_insert_id($db);

$query = "INSERT INTO jointable (EventID, column1, column2...) VALUES ($last_event_id, ...)";
mysql_query($query);
于 2013-02-11T08:19:28.000 回答