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

mySQL Trigger работи след вмъкване на конзолата, но не и след вмъкване на скрипт

Мисля, че е много по-вероятно да срещнете неуловена грешка, а не тригерът да не се изпълнява, особено след като се изпълнява успешно от конзолата.

Трябва да изолирате къде възниква грешката – в самия тригер или в скрипта за извикване.

Във вашия скрипт на python отпечатайте SQL израза, който python изпраща на MySQL за изпълнение, за да сте сигурни, че е конструиран, както очаквате - например, ако NEW.type не е равно на 'PRE', тригерът ще се изпълни, но няма да доведе до никакви актуализации.

Също така се уверете, че проверявате за грешки на вложката. Аз не съм програмист на python, така че не мога да ви кажа как се прави това, но това изглежда е това, което търсите.

Ако нито едно от тях не ви доведе до проблема, коментирайте целия if (NEW.type = 'PRE') THEN блокирайте и направете проста модификация, като например задаване на NEW.type на 'debug'. След като се уверите, че тригерът действително се изпълнява, тествайте последователно с повече от реалния код, добавен обратно, докато не изолирате проблема.

Също така, според коментара на Маркос, бих се изненадал, ако скриптът не се ангажира автоматично при успешно завършване. Наистина, бих направил това изявление за всеки скрипт/език.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Моята проста MySql заявка не използва индекс

  2. Има ли възможност за слушане на sql таблица/поле с камила?

  3. Как да съединя две таблици и да ги сравня? (Питах няколко пъти, но не можах да намеря отговора.)

  4. Инсталиране на MySQL JDBC драйвери в Pentaho Data Integration и BA Server инструменти

  5. Моделиране на UUID в обект на хибернация срещу MySQL