Una funzione o un trigger memorizzati non possono modificare una tabella che è già utilizzata (per la lettura o la scrittura) dall'istruzione che ha richiamato la funzione o il trigger.
da:Restrizioni del programma memorizzato .
Generalmente con un trigger che si attiva all'inserimento, se si vuole modificare il valore che si sta inserendo si effettua il trigger del tipo BEFORE INSERT
e cambia i valori in NEW
ho anche notato che la seguente affermazione non è comunque ciò che desideri.
update pos_table set PTS=((NEW.won_games*2)+(NEW.tie_games*1));
Aggiorna l'intera tabella mentre penso che tu stia solo cercando di aggiornare una riga specifica. Ad ogni modo, questo è un semplice calcolo, quindi non è necessario memorizzare questa colonna. Puoi altrettanto facilmente calcolare il valore al momento della visualizzazione e rendere il tuo codice molto più semplice + evitare il problema con il trigger.