Re: [PHP-ES] Varios delete en una misma consulta

From: Jesus Aneiros Sosa ( aneiros .en. finf.ucf.edu.cu)
Date: Sat Mar 06 2004 - 00:31:19 CET


El que sea necesario o no depende de la aplicacion. El uso de las
transacciones permite convertir en este caso los 3 delete en una sola
operacion atomica garantizando la integridad de los datos.

De la forma en que ud indica no se garantiza la integridad.

-- 
Saludos,
--aneiros.
On Fri, 5 Mar 2004, Ivan Rodriguez wrote:
> Buenas, si tu tabla no es del tipo InnoDB o BDB no podras hacer uso de las
> transacciones, pero no creo que sea necesario algo asi, por que no haces uso
> de un bucle para recorrer los datos de una matriz y generas la consulta? al
> estilo de:
>
> <code>
> $arDatos = array(
>                             array('tabla 1', 'a'),
>                             array('tabla 2', 'b'),
>                             array('tabla 3', 'c')
>                      );
>
> function VariosDeletes($arDatos) {
>     global $conexion;
>
>     if(!is_array($arDatos)) {
>         echo "El parametro de la función VariosDeletes() debe de ser un
> Array";
>     } else {
>         foreach($arDatos as $arIndice) {
>             $SQL = "DELETE FROM " . $arIndice[0] . " WHERE " . $arIndice[1]
> . " = " . $arIndice[1];
>             return mysql_query($SQL, $conexion) or die (mysql_error());
>         }
>     }
>
> }
>
> $conexion = mysql_connect(HOST, USER, PASS) or die (mysql_error());
> mysql_select_db(BBDD, $conexion) or die (mysql_error());
>
> VariosDeletes($arDatos);
>
> mysql_close();
> </code>
>
> Bueno, espero que te sirva, en la funcion que creamos [ resource
> VariosDeletes(array) ] debehacer mas comprobaciones para asegurarte que los
> datos que le llegan al bucle son correctos, yo te puse lo del is_array()
> para comprobar que el parametro de la funcion es un array, pero bueno .....
>
> Un saludo!
>
> Iván Rodriguez Espada
> _________________________
> ALAPLAYA.COM
> http://www.alaplaya.com
> epplestun .en. alaplaya.com
>
> ----- Original Message -----
> From: "Jesus Aneiros Sosa" <aneiros .en. finf.ucf.edu.cu>
> To: "emanuel quintana" <emanuel_quintana_cv .en. hotmail.com>
> Cc: <php-es .en. lists.php.net>
> Sent: Friday, March 05, 2004 4:16 AM
> Subject: Re: [PHP-ES] Varios delete en una misma consulta
>
>
> > Que tipo de tabla usas? tengo entendido que solo con InnoDB y BDB
> > funcionan las transacciones.
> >
> > --
> > Saludos,
> >
> > --aneiros.
> >
> > On Thu, 4 Mar 2004, emanuel quintana wrote:
> >
> > > Hola buenas tardes colegas, mi problema es el siguiente, quiero realizar
> 3
> > > deletes en una misma consulta estuve leyendo la documentacion del sitio
> > > http://www.mysql.com/doc/en/COMMIT.html, pero no logro hacer andar la
> > > consulta.
> > > la consulta que hago es la siguiente.
> > > START TRANSACTION;
> > > DELETE FROM tabla 1 WHERE a = 'a';
> > > DELETE FROM tabla 2 WHERE b = 'b' ;
> > > DELETE FROM tabla 3 WHERE c = 'c' ;
> > > COMMIT;
> > >
> > > Si alguien me podria ayudar, se lo agradeceria =)
> > >
> > > _________________________________________________________________
> > > Las mejores tiendas, los precios mas bajos, entregas en todo el mundo,
> > > YupiMSN Compras: http://latam.msn.com/compras/
> > >
> > >
> >
> >
> > --
> > Este mensaje ha sido analizado por el servicio de antivirus
> > de la UCf, mediante MailScanner y  F-prot en busca de virus
> > y otros contenidos peligrosos, y se considera que está limpio.
> > No obstante tome sus propias medidas de seguridad.
> >
> > --
> > PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
>
-- 
Este mensaje ha sido analizado por el servicio de antivirus
de la UCf, mediante MailScanner y  F-prot en busca de virus 
y otros contenidos peligrosos, y se considera que está limpio.
No obstante tome sus propias medidas de seguridad.
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:34 CEST