|
|
|
Транзации
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! У меня есть таблица ids (InnoDB) в которой хранятся следующий id primary key для всех таблиц (вместо auto_increment). Мне нужно в процедуре обратиться к этой таблице, записать некоторые id в переменные, и проитерировать все использованные id на 1. При этом мне нужно быть уверенным, что во время исполнения моего потока, ни один другой поток не обратиться к этой таблице и не обновит значения до меня. Правильно ли я понимаю, что мне достаточно все манипуляции сделать в одной транзакции и пока транзакция не закомитится, никто не сможет обратиться к тем полям, к которым я обратился? Или же нужно использовать lock table или изоляцию транзакций (я пока в этом мало понимаю)? Таблица: Код: sql 1. 2. 3. 4. 5. 6. Моя транзакция: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2016, 19:15 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=112&tid=1832212]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 344ms |

| 0 / 0 |
