将AUTO INCREMENT列存储在另一个表中

时间:2013-10-27 18:51:51

标签: mysql sql

我有一个 CLIENT 表,其中client_id为自动增量。 现在我需要同时填充其他表 SERVICE,COSTUMERS STOCK 。 问题是我需要从其他表中的CLIENT输入新生成的client_id

现在我在做什么:

  1. 我在CLIENT表中插入一行。
  2. 从该表中获取MAX(client_id)。
  3. 把它放到别人身上。
  4. 这里我担心一致性,因为这完全取决于猜测MAX(client_id)最近会生成一个。有没有其他方法可以做到这一点而不会保持风险的一致性?

    请帮助

1 个答案:

答案 0 :(得分:3)

您可以使用

来实现它
mysql_insert_id()

它将返回上一个查询中的AUTO INCREMENT值。如果上一个查询没有生成自动增量值,它将返回0.

有关详细信息,请考虑查看Php.net manual

修改

正如您所提到的,不推荐使用Mysql,使用Mysqli或PDO会更安全。

Mysqli

程序风格:mysqli_insert_id ( mysqli $link )

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

PDO

$PDO->lastInsertId()