考虑一下这个表:我如何锁定表时选择记录不返回数据
| id | objId | fieldNumber |
|------|-------|-------------|
| 902 | 1 | 1 |
| 908 | 1 | 2 |
| 1007 | 1 | 3 |
| 1189 | 8 | 1 |
| 1233 | 12 | 1 |
| 1757 | 15 | 1 |
要进入一个新的纪录,一个不存在的OBJ。可以说objId:16.对于每个obj,字段号必须增加1.看一看obj:1.正如你所看到的,它增加1.现在,如果两个或多个数据库连接尝试在相同的位置插入obj 16我会有两个obj 16与fieldNumber 1.这不会发生。我必须保证场数不一样,必须加1。
所以我的解决方案是通过objid获取所有记录。如果至少有一条记录,则在该objid的所有记录上放置一个锁,然后用下一个fieldNumber插入一条记录。
或者,当我通过objid获取所有记录时。如果没有记录,那么我将锁定整个表格,然后插入fieldNumber 1的记录。
我该如何去锁定整张桌子?让我知道如果你有更好的想法做到这一点?