我有一个表CLIENT作为client_id
自动增量。现在我需要同时填充其他表SERVICE、COSTUMERS和STOCK。问题是我也需要client_id
在其他表中输入从 CLIENT 新生成的内容。
现在我在做什么:
- 我在 CLIENT 表中插入一行。
- 从该表中获取 MAX(client_id)。
- 放到别人身上。
在这里,我担心一致性,因为这完全取决于猜测 MAX(client_id) 最近会生成一个。有没有其他方法可以这样做而不会使一致性受到威胁?
请帮忙
您可以使用它来实现它
mysql_insert_id()
它将在最后一个查询中返回 AUTO INCREMENT 值。如果最后一个查询没有生成自增值,它将返回 0。
有关更多信息,请考虑查看Php.net 手册。
编辑:
正如您所提到的,Mysql 已被弃用,使用 Mysqli 或 PDO 会更安全。
程序风格:mysqli_insert_id ( mysqli $link )
面向对象风格:$mysqli->insert_id
$PDO->lastInsertId()