Fórum INNODB (Controle de Transação) #30312
21/07/2005
0
Estou com seguinte problema.
Tenho as seguintes tabelas:
Tabela PAI
[CodPai, NomePai]
Tabela FILHO
[CodFilho AUTOINCREMENT, CodPai, NomeFilho]
Vamos dizer que na Tabela PAI eu tenha 2 registros:
CodPai NomePai
-----------------------------
1 João
2 Paulo
Agora eu vou abrir duas transações:
TRANSAÇÃO I TRANSAÇÃO II
-------------------------------------------------------------------------------------
BEGIN TRANSACTION
BEGIN TRANSACTION
SELECT * FROM PAI
WHERE CodPai = 1 FOR UPDATE
SELECT * FROM PAI
WHERE CodPai = 2 FOR UPDATE
INSERT INTO FILHO
(CodPai, NomeFilho)
VALUES (1,´Leo´)
INSERT INTO FILHO
(CodPai, NomeFilho)
VALUES (2,´João´)
. .
. .
. .
O erro ocorre quando eu executo este segundo INSERT, não sei porque depois que qualquer uma das transações executam o INSERT, então a tabela FILHO fica travada para a transação que fez o INSERT primeiro até que seja feito um commit ou roolback.
Alguém sabe alguma solução para que não aconteça o travamento da tabela FILHO.
Desde já grato[],
Leonardo Barrozo dos Santos
Tenho as seguintes tabelas:
Tabela PAI
[CodPai, NomePai]
Tabela FILHO
[CodFilho AUTOINCREMENT, CodPai, NomeFilho]
Vamos dizer que na Tabela PAI eu tenha 2 registros:
CodPai NomePai
-----------------------------
1 João
2 Paulo
Agora eu vou abrir duas transações:
TRANSAÇÃO I TRANSAÇÃO II
-------------------------------------------------------------------------------------
BEGIN TRANSACTION
BEGIN TRANSACTION
SELECT * FROM PAI
WHERE CodPai = 1 FOR UPDATE
SELECT * FROM PAI
WHERE CodPai = 2 FOR UPDATE
INSERT INTO FILHO
(CodPai, NomeFilho)
VALUES (1,´Leo´)
INSERT INTO FILHO
(CodPai, NomeFilho)
VALUES (2,´João´)
. .
. .
. .
O erro ocorre quando eu executo este segundo INSERT, não sei porque depois que qualquer uma das transações executam o INSERT, então a tabela FILHO fica travada para a transação que fez o INSERT primeiro até que seja feito um commit ou roolback.
Alguém sabe alguma solução para que não aconteça o travamento da tabela FILHO.
Desde já grato[],
Leonardo Barrozo dos Santos
Lbbsantos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)