1
我有一個兩列的表。一個是auto_increment,如columnA,而另一個是非auto_increment,如columnB。我想在columnB執行兩種類型的插入操作:MySQL中非auto_increment列的原子增量
- 插入一個常數(對於故意重複)
- 插入MAX(columnB)+ 1(這個一定不會造成任何的重複)
操作1很簡單,但在操作2中可以複製,因爲操作不是完全原子的。我打算使用下面的SQL:
插入表(columnB)選擇MAX(columnB)+1從表
如果多個用戶打在完全相同的時間上面的SQL,就會造成重複。我想知道如何使聲明完全原子化。
還有一件事,如果你建議表鎖定有無延遲的插入,而不是由於表被鎖定而返回錯誤?