带有自动增量的 MySQL 插入 - 是否需要插入忽略以避免并发问题?

标签 mysql concurrency insert

我在带有 innodb 的 MySQL 中使用简单的 INSERT 语句,主 ID 自动递增。我是否需要担心如果用户 A 和用户 B 同时执行相同的脚本,用户 A 的插入会被用户 B 的插入覆盖?

最佳答案

不,不会。您可以将其视为线程安全的。

来自引用:

When accessing the auto-increment counter, InnoDB uses a special table-level AUTO-INC lock that it keeps to the end of the current SQL statement, not to the end of the transaction

http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html

关于带有自动增量的 MySQL 插入 - 是否需要插入忽略以避免并发问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16376689/

相关文章:

java - 同步 int、long 或 String 值以及 AND/OR 选项?

Java 信号量停止线程

php - SQL 插入 MySQL 不起作用

mysql - 使用选择插入多行

sql - 这个查找(关联)表是否正确? (多对多关系)

mysql - Ruby on Rails 是否适合我想要实现的目标?为现有的 MySQL 数据库创建 CRUD 脚手架

php - 数据库错误 mysqli_init()

c# - 处理与整个应用程序的对象交互的并发性和复杂的 WCF 服务

php - mySQL 查询 - 简单的数学问题

php - MysQL 忽略 int 值 - 键 'PRIMARY' 的重复条目