2011-05-01 5 views

Respuesta

2

Parece ser una gran base de datos "simulada" para fines de pruebas de programas.

A menudo uso la base de datos SQLite interna de Python para tales cosas, pero tener una base de datos simulada específica de MySQL sería agradable; gracias por compartir.

(A-unidad de prueba podría, como último paso, la caída de las tablas de prueba; etc. Pero el motor "blackhole" obviaría ese paso.)

+2

eso es ... agradecimiento creativo – Johan

2

encontrado uno un usando un disparador:

Si tiene una serie complicada de inserciones o actualizaciones que deben suceder en una transacción, puede hacerlo en el código de la aplicación o

Puede crear una tabla "grande" blackhole con suficientes filas para contener todos los valores.

Y crear un disparador como:

DELIMITER $$ 

CREATE TRIGGER ai_bh_table_each AFTER INSERT ON bh_table FOR EACH ROW 
BEGIN 
    DECLARE lastid1 integer; 

    INSERT INTO table1 VALUES (null, new.field1, new.field2); 
    SELECT LAST_INSERT_ID() INTO lastid1; 
    INSERT INTO table2 VALUES (null, new.field3, lastid1); 
    .... 
END$$ 

DELIMITER ; 

Si se incluye código de comprobación de errores incluso se puede simular transacciones en los motores que no lo soportan, como MyISAM.