sql >> Databáze >  >> RDS >> Mysql

Creative využívá engine blackhole

Nalezen jeden a pomocí spouštěče:

Pokud máte komplikovanou sérii příloh nebo aktualizací, které je třeba provést v transakci, můžete je provést v kódu aplikace nebo

Můžete vytvořit jednu „velkou“ blackhole tabulka s dostatečným počtem řádků pro uložení všech hodnot.

A vytvořte spouštěč jako:

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 ;

Pokud zahrnete kód kontroly chyb, můžete dokonce simulovat transakce na motorech, které jej nepodporují, jako je MyISAM.



  1. tisk hodnoty proměnné v postgresql

  2. SQL Server:Získejte primární klíč tabulky pomocí dotazu SQL

  3. Přejmenování tabulky InnoDB bez aktualizace odkazů na cizí klíč?

  4. PHP/MySQL Odstranit obrázek z databáze