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

mySQL Trigger funguje po vložení konzoly, ale ne po vložení skriptu

Domnívám se, že je mnohem pravděpodobnější, že narazíte na nezachycenou chybu, než že se spouštěč nespouští, zejména proto, že se úspěšně spouští z konzoly.

Musíte izolovat, kde se chyba vyskytuje – v samotném spouštěči nebo ve volajícím skriptu.

Ve skriptu python vytiskněte příkaz SQL, který python odešle do MySQL k provedení, abyste zajistili, že bude vytvořen tak, jak očekáváte – pokud se například NEW.type nerovná 'PRE', spouštěč se provede, ale nebude mít za následek žádné aktualizace.

Ujistěte se také, že kontrolujete chyby na vložce. Nejsem programátor pythonu, takže vám nemůžu říct, jak se to dělá, ale toto zdá se, že je to, co hledáte.

Pokud vás ani jedno z toho nevede k problému, zakomentujte celé if (NEW.type = 'PRE') THEN zablokujte a proveďte jednoduchou úpravu, jako je nastavení NEW.type na 'debug'. Poté, co se přesvědčíte, že se spouštěč skutečně spustí, opakujte postupné testování s větším množstvím skutečného kódu, který bude přidán zpět, dokud problém neodhalíte.

Také, jak poznamenal Marcos, byl bych překvapen, kdyby se skript po úspěšném dokončení automaticky nesvěřil. Toto prohlášení bych skutečně učinil o jakémkoli písmu/jazyku.



  1. načíst data místní vstupní soubor ERROR 2 soubor nenalezen

  2. Úvod do datových spojení a vztahů

  3. Funkce MySQL COS() – Vrátí kosinus čísla v MySQL

  4. pomocí mysqli k zabránění vkládání SQL, jak nastavit NULL nebo CURRENT_DATE?