Autor | Zpráva | ||
---|---|---|---|
MaK Profil |
#1 · Zasláno: 19. 8. 2013, 14:45:38
Mám tabulku
CREATE TABLE tab ( `name` varchar(128) COLLATE ascii_bin NOT NULL, `tm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=ascii COLLATE=ascii_bin; a v kódu se snažím získat řádek pod kontrolu a následně s ním něco provést: Přes konzoli není problém: T1: SET autocommit=0; T2: SET autocommit=0; T1: SELECT * FROM tab WHERE name='neco' FOR UPDATE T2: SELECT * FROM tab WHERE name='neco' FOR UPDATE -> čeká T1: COMMIT nebo ROLLBACK T2: pokračuje V realném provoze však dochazí k deadlocku. Může mě někdo popostrčit, proč při zamykání jednoho řádku dochazí k deadlocku. MaK |
||
Časová prodleva: 11 let
|
0