繁体   English   中英

将AUTO_INCREMENT列存储在其他表中

[英]Store AUTO_INCREMENT column in other table

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

现在我在做什么:

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

在这里,我担心一致性,因为这完全取决于MAX(client_id)将在最近生成的猜测。 还有其他方法可以保持一致性不变吗?

请帮助

您可以使用

mysql_insert_id()

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

有关更多信息,请考虑参阅Php.net手册

编辑:

如您所述,不建议使用Mysql,使用Mysqli或PDO将更加安全。

库MySQLi

程序风格: mysqli_insert_id ( mysqli $link )

面向对象的样式: $mysqli->insert_id

PDO

$PDO->lastInsertId()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM