sql >> Database >  >> RDS >> Mysql

mySQL Trigger werkt na het invoegen van de console, maar niet na het invoegen van het script

Ik denk dat het veel waarschijnlijker is dat je een niet-afgevangen fout tegenkomt, in plaats van dat de trigger niet wordt uitgevoerd, vooral omdat deze met succes wordt uitgevoerd vanaf de console.

U moet isoleren waar de fout optreedt - in de trigger zelf of in het aanroepende script.

Druk in uw python-script de SQL-instructie af die python naar MySQL verzendt voor uitvoering om ervoor te zorgen dat het is geconstrueerd zoals u verwacht - als NEW.type bijvoorbeeld niet gelijk is aan 'PRE', zal de trigger zijn uitgevoerd, maar zal niet resulteren in updates.

Zorg er ook voor dat u controleert op fouten op de bijsluiter. Ik ben geen python-programmeur, dus ik kan je niet vertellen hoe dat moet, maar dit lijkt te zijn wat je zoekt.

Als geen van beide u naar het probleem leidt, plaats dan de hele if (NEW.type = 'PRE') THEN blok en voer een eenvoudige wijziging uit, zoals het instellen van NEW.type op 'debug'. Nadat u er zeker van bent dat de trigger daadwerkelijk wordt uitgevoerd, test u achtereenvolgens opnieuw met meer van de echte code toegevoegd totdat u het probleem isoleert.

Bovendien zou ik, gezien de opmerking van Marcos, verbaasd zijn als het script niet automatisch wordt uitgevoerd na succesvolle voltooiing. Inderdaad, ik zou deze uitspraak doen over elk script/taal.



  1. MySQL - Hoe te controleren of START TRANSACTIE actief is?

  2. WordPress Custom Structure permalinks worden verbroken na migratie van site naar nieuw domein en server

  3. rechter join is gelijk aan linker join?

  4. De regels van Codd in SQL