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

Искам тригер за ИЗТРИВАНЕ от 2 таблици в MySQL

Изтриване от две таблици наведнъж със задействане:

Тригерите се използват за налагане на целостта на данните в таблиците. Можете да използвате тригери за изтриване от произволен брой таблици наведнъж.

Преди да инициализираме тригерите, трябва временно да променим оператора за разделител на mysql, тъй като тригерите използват точка и запетая ; оператор, за да посочите множество sql команди в тригера.

Стъпка 1 Промяна на текущия разделител:

delimiter $$

Стъпка 2 Създайте тригер:

CREATE TRIGGER `blog_before_delete`     
  AFTER DELETE ON `blog`     
  FOR EACH ROW     
BEGIN
  DELETE FROM blog_tags where blogid = OLD.id;
  DELETE FROM blog_comments where blogid = OLD.id;
END
$$

Стъпка 3 Възстановяване на предишния разделител:

delimiter ;

Обяснение:

OLD е вградена ключова дума и се отнася до реда на таблицата на блога, който изтриваме. Mysql стартира тригера blog_before_delete всеки път, когато изтрием запис в таблицата на блога. Ако спусъкът се провали, след това изтриването се връща назад. Това помага да се гарантира атомарност, последователност, изолация и издръжливост в нашата база данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам подзаявка за опция dbtable в jdbc източник на данни?

  2. Емоджитата не се вмъкват в възела на базата данни js mysql

  3. Unicode в MySQL Regex?

  4. Операнд трябва да съдържа 1 колона - MySQL НЕ В

  5. Как да създавате индекси на множество колони