在这些条件下,sql会出现竞争条件吗?
如果我在一个线程中运行此SQL更新,则调用它语句1:
更新项目设置标志= B,其中标志= A;
而这个在另一个运行的SQL更新调用它语句2:
更新项目设置标志= C其中标志= A;
每个线程是否可以读取Flag等于A的相同记录并用自己的值写入记录?这样声明1可以先写它然后声明2写它或反之亦然?
此问题的答案取决于数据库何时独占锁定更新.它是在找到记录之前还是在找到记录并评估where子句之后发生的?
sql multithreading synchronization
multithreading ×1
sql ×1
synchronization ×1