Ovunque sembri, sembra che le stored procedure MySQL possano eseguire transazioni. Eppure, quando dichiaro la mia funzione memorizzataCodice errore: 1422. Il commit esplicito o implicito non è consentito nella funzione o nel trigger memorizzato
create function test(a int)
returns int
MODIFIES SQL DATA
BEGIN
START TRANSACTION ;
update t set col='some value' where id=a ;
COMMIT ;
return 0 ;
END //
ottengo
Codice errore: 1422. esplicita o implicita commit non è consentito in funzione memorizzata o un trigger.
Vale anche la pena notare che se si richiama la procedura da un trigger, verrà comunque ricompensato con un errore "_Explicit o commit implicito in stored function o trigger_". Frustrante. – aroth
hey, questo è un po 'vecchio, ma mi sto imbattendo in questo problema adesso. C'è un modo per aggirarlo? – user2223059