Mysql
 sql >> база данни >  >> RDS >> Mysql

Творческо използване на двигателя на черната дупка

Намерено е едно с помощта на тригер:

Ако имате сложна серия от вмъквания или актуализации, които трябва да се случат в транзакция, можете да ги направите в кода на приложението или

Можете да създадете една "голяма" blackhole таблица с достатъчно редове, за да побере всички стойности.

И създайте задействане като:

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 ;

Ако включите код за проверка на грешки, можете дори да симулирате транзакции на машини, които не го поддържат, като MyISAM.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. сложни sql дървесни редове

  2. Валидни ли са квадратните скоби в SQL заявка?

  3. Работно време на MySQL

  4. Как да внедря автоматично актуализиране на изгледа веднага щом има промяна в базата данни в AngularJs?

  5. SQLite INSERT - ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ (UPSERT)