script reinicio

Alberto Valverde alberto en toscat.net
Lun Dic 4 18:23:41 CET 2006


On Dec 4, 2006, at 6:03 PM, Marco Bustamante wrote:

> La rescpuesta va por usar
> begin (comenzar transaccion)
> commit(confirmar transaccion)
> rollback(dejar todo como estaba antes de begin)
>
>
> mysql_query("BEGIN");
> mysql_query("COMMIT");
> mysql_query("ROLLBACK");

Sólo comentar que en MySQL sólo te funcionará si usas tablas con  
soporte para transacciones: InnoDB (o una base de datos de verdad ;)  
PostgreSQL, Oracle...)

Si no puedes usar transacciones y realmente lo que quieres es dejar  
las tablas vacías (completamente) deberás usar "DELETE" (o, más  
rápido, "TRUNCATE", no sé si MySQL lo soprta....) en las tablas que  
quieras vaciar:

for tabla in tablas_a_vaciar:
     conn.execute("DELETE FROM %s" % tabla)

Cuidado con ese último comando si no controlas completamente el  
contenido de la variable "tabla"... ¡ni se te ocurra hacer éso con  
datos introducidos por un usuario! (http://es.wikipedia.org/wiki/ 
Inyecci%C3%B3n_SQL)

Un saludo,
Alberto



Más información sobre la lista de distribución Python-es