MyISAM表使用表级别锁定。这意味着在执行更新查询期间,整个表将被锁定。因此,简化用例的答案是:是的,这是线程安全的。但是,如果您使用其他存储引擎,或者您的更新中包含多个表,则情况可能并非如此。
这是MySQL手册中的一句话,以更加清楚:
表锁定使许多会话可以同时从一个表读取,但是如果一个会话要写入表,则必须首先获得互斥访问。在更新期间,要访问此特定表的所有其他会话都必须等待,直到更新完成。
如果适合您的设计,您也可以考虑使用自动增量列,事务或外部同步。
干杯!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)