¿Se puede realizar una transaccion con Lock Table?
Publicado por miguelhpm (5 intervenciones) el 15/09/2007 17:18:48
Hola a todos... mi duda es la siguiente...
quiero realizar una inserccion usando Transacciones pero quiero quiero darle mas seguridad en la insercion usando lock, no se si hay alguna forma de porder realizar esto en MySql, o por el contrario usar bien Transacciones o bien usar Lock table. aqui tengo un ejemplo de lo que estaba Probando
tengo un a taba 't_tabla' de pk: numReg
-----------------------------------------
| numReg | fechaReg |
-----------------------------------------
| 1 | '2007-09-10' |
| 2 | '2007-09-12' |
| 3 | '2007-09-13' |
-----------------------------------------
sql-> LOCK TABLE t_tabla WRITE;
sql-> START TRANSACTION;
sql-> INSERT INTO t_tabla VALUES (1,'2007-09-15');
sql-> INSERT INTO t_tabla VALUES (4,'2007-09-15');
sql-> COMMIT;
sql-> UNLOCK TABLES;
se Suporne que la transaccion evitaria el segundo registro ya que el primero estaria en error.
Pero no evita el segundo Registro. mi tabla luego queda asi:
-----------------------------------------
| numReg | fechaReg |
-----------------------------------------
| 1 | '2007-09-10' |
| 2 | '2007-09-12' |
| 3 | '2007-09-13' |
| 4 | '2007-09-15' |
-----------------------------------------
Saludos.........
PD: lo ehh probado de de la siguiente manera tambien :
sql-> START TRANSACTION;
sql-> LOCK TABLE t_tabla WRITE;
sql-> INSERT INTO t_tabla VALUES (1,'2007-09-15');
sql-> INSERT INTO t_tabla VALUES (4,'2007-09-15');
sql-> UNLOCK TABLES;
sql-> COMMIT;
quiero realizar una inserccion usando Transacciones pero quiero quiero darle mas seguridad en la insercion usando lock, no se si hay alguna forma de porder realizar esto en MySql, o por el contrario usar bien Transacciones o bien usar Lock table. aqui tengo un ejemplo de lo que estaba Probando
tengo un a taba 't_tabla' de pk: numReg
-----------------------------------------
| numReg | fechaReg |
-----------------------------------------
| 1 | '2007-09-10' |
| 2 | '2007-09-12' |
| 3 | '2007-09-13' |
-----------------------------------------
sql-> LOCK TABLE t_tabla WRITE;
sql-> START TRANSACTION;
sql-> INSERT INTO t_tabla VALUES (1,'2007-09-15');
sql-> INSERT INTO t_tabla VALUES (4,'2007-09-15');
sql-> COMMIT;
sql-> UNLOCK TABLES;
se Suporne que la transaccion evitaria el segundo registro ya que el primero estaria en error.
Pero no evita el segundo Registro. mi tabla luego queda asi:
-----------------------------------------
| numReg | fechaReg |
-----------------------------------------
| 1 | '2007-09-10' |
| 2 | '2007-09-12' |
| 3 | '2007-09-13' |
| 4 | '2007-09-15' |
-----------------------------------------
Saludos.........
PD: lo ehh probado de de la siguiente manera tambien :
sql-> START TRANSACTION;
sql-> LOCK TABLE t_tabla WRITE;
sql-> INSERT INTO t_tabla VALUES (1,'2007-09-15');
sql-> INSERT INTO t_tabla VALUES (4,'2007-09-15');
sql-> UNLOCK TABLES;
sql-> COMMIT;
Valora esta pregunta


0