Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usos criativos para o mecanismo blackhole


Encontrou um usando um gatilho:

Se você tiver uma série complicada de inserções ou atualizações que precisam acontecer em uma transação, você pode fazer isso no código do aplicativo ou

Você pode criar um 'grande' blackhole tabela com linhas suficientes para conter todos os valores.

E crie um gatilho 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 ;

Se você incluir o código de verificação de erros, poderá até simular transações em mecanismos que não o suportam, como o MyISAM.