Foros del Web » Programando para Internet » PHP »

Usando tablas INNODB en mysql

Estas en el tema de Usando tablas INNODB en mysql en el foro de PHP en Foros del Web. Tengo una duda ehh trabajado en mysql con tablas MYISAM pero quiero cambiar a INNODB por he leido que trae posibilidad de commit, rollback, recuperación ...
  #1 (permalink)  
Antiguo 17/03/2005, 11:51
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
Pregunta Usando tablas INNODB en mysql

Tengo una duda ehh trabajado en mysql con tablas MYISAM pero quiero cambiar a INNODB por he leido que trae posibilidad de commit, rollback, recuperación de errores y bloqueo a nivel de fila.

Mi duda es la programacion para inserts, delete, select y update
que hice tarabajando con tablas MyISAM me sirve para INNODB???

Y como aplico en php el commint, el rollback y la recuperación de errores y bloqueo a nivel de fila.

Esperos sus comentarios amigos
__________________
gerardo
  #2 (permalink)  
Antiguo 18/03/2005, 06:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El "commint" y el "rollback" son sentencias SQL .. como tal .. cara a "ejecutarlas con PHP" se hace con la función mysql_query() .. de la misma forma que lo haces para otras sentencias SQL comunes (INSERT, SELECT, UPDATE .. DELETE .. etc).

La recuperación de errores de Mysql lo puedes obtener con mysql_error() por ejemplo tras ejecutar tu query.

más información:
www.php.net/mysql

Un saludo,
  #3 (permalink)  
Antiguo 18/03/2005, 11:41
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
Pregunta Otra duda cluster

lei que la estructura para tablas innodb
es asi

mysql_query('begin');
mysql_query($query1) or die(mysql_query('rollback'));
mysql_query($query2) or die(mysql_query('rollback'));
mysql_query($query3) or die(mysql_query('rollback'));
mysql_query('commit');

es correcto esto??

espero tu(s) comentarios
__________________
gerardo
  #4 (permalink)  
Antiguo 18/03/2005, 13:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, .. seria eso .. Es decir .. inicias la transacción (Begin) .. y la terminas si todo ha ido bien con un commit .. Si hay error haces un "rollback" que sería "deshacer" lo que se ubiese hecho.

Un saludo,
  #5 (permalink)  
Antiguo 18/03/2005, 14:04
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
Pregunta una duda

En mysql estoy usando tablas MYISAM

los querys lo uso asi

$result=mysql_query('sentencia');
if($result)
{
//la linea imprimira segun que query se esta ejeutando
echo "guarado,actualizdo,borrado";

}
else
{
echo "error";
}


Usando tablas innodb

debo hacerlas asi??

mysql_query('Begin');

$result=mysql_query('sentencia');
if($result)
{
//la linea imprimira segun se query de arriba
echo "guarado,actualizdo,borrado";
}
else
{
mysql_query('rollback');
}
mysql_query('COMMIT');

esperos sus comentarios
__________________
gerardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:59.