MySQL - 是否可以 运行 多个同步插入?

MySQL - Is it possible to run multiple synchronous inserts?

我在 SO 上用谷歌搜索,但找不到答案;也许你可以给我指点一些 reference/docs?

这更多是关于理解 MySQL 在插入时处理 table 内容的方式。 我有一个 table (Myisam),它有一个自动递增的主键 'autoid'。我正在使用一个简单的脚本来插入 1000 多条记录。我想要做的是 运行 这个脚本的多个实例(你可以把它想象成类似于同时从不同机器访问脚本)。

MySql 是否能够在我这边没有任何进一步操作的情况下相应地分配自动增量主键,或者我是否必须对每台机器进行某种 table 锁定?也许我必须选择 InnoDb 而不是 MyIsam?

我想要实现的是:无论有多少台机器同时触发脚本,所有插入都应该完成,而不会跳过任何自动增量 ID 或抛出 "Duplicate Value for...".[=12= 这样的错误]

非常感谢

使用数据库的全部意义在于可以事务处理此类情况。所以是的,这个场景在每个常用的 DBMS 系统上都运行良好,包括 MySQL。

您认为普通论坛如何与 50 个用户同时发布对一个主题的回复,所有这些回复都来自分叉的并行 Apache 进程,因此可能仅相隔几微秒,或者来自多个负载平衡的网络服务器?

在内部,它只是在访问和递增共享资源(在本例中为 table 的自动递增值)时像任何其他进程一样使用 mutex/semaphore 来缓解固有的竞争条件。