php - 来自 mysql 的 IDs 来自同时来源的大量插入

标签 php mysql

我在 php 和 mysql 中有一个应用程序,用户可以在其中写入和读取特定表。其中一种写入模式是批量写入,只对多个值进行一次查询。该表有一个自动递增的 ID。 这个想法是,对于表中插入的每一行,都会在单独的表中插入一个副本,作为历史日志,包括生成的 ID。

问题是多个用户可以同时执行此操作,我需要确保加载的 ID 是正确的。

我能确定吗,例如:

INSERT INTO table1 VALUES ('','test1'),('','test2')

生成的 ID 是连续的?

如何获取刚刚加载的 ID,并确保这些是刚刚加载的 ID?

我想到了LOCK TABLE,但是用户应该不会注意到这一点。

希望我说清楚了...

最佳答案

构建一个需要按顺序生成 ID 的应用程序通常意味着您采用了错误的方法 - 当您某天必须删除一个值时会发生什么,您是否要对整个表重新排序?使用主键来防止重复,让值尽可能地下降要好得多。

关于php - 来自 mysql 的 IDs 来自同时来源的大量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477571/

相关文章:

带身份验证的PHP登录脚本,阻止用户访问特定页面

mysql - 找不到配置文件 ''

mysql - Rails 在连接后从所有表中获取列名

javascript - 如何在javascript中声明php数组变量并在数据表上查看

php 时区:DateTime::createFromFormat 忽略时区

php - MySQL 变量 PHP 连接

mysql - 根据另一列从mysql获取特定记录

php - 如何在 Yii 中用数据库值填充文本字段?

php - MYSQL 获取行到不同的表

mysql - 为什么同一个查询可能需要 1000 倍的时间,具体取决于 where 子句?