2

我有一个表CLIENT作为client_id自动增量。现在我需要同时填充其他表SERVICE、COSTUMERSSTOCK。问题是我也需要client_id在其他表中输入从 CLIENT 新生成的内容。

现在我在做什么:

  1. 我在 CLIENT 表中插入一行。
  2. 从该表中获取 MAX(client_id)。
  3. 放到别人身上。

在这里,我担心一致性,因为这完全取决于猜测 MAX(client_id) 最近会生成一个。有没有其他方法可以这样做而不会使一致性受到威胁?

请帮忙

4

1 回答 1

3

您可以使用它来实现它

mysql_insert_id()

它将在最后一个查询中返回 AUTO INCREMENT 值。如果最后一个查询没有生成自增值,它将返回 0。

有关更多信息,请考虑查看Php.net 手册

编辑:

正如您所提到的,Mysql 已被弃用,使用 Mysqli 或 PDO 会更安全。

mysqli

程序风格:mysqli_insert_id ( mysqli $link )

面向对象风格:$mysqli->insert_id

PDO

$PDO->lastInsertId()

于 2013-10-27T18:53:37.657 回答