Podívejte se na trigger:
UPDATE Orders Set Paid =(Select SUM (Amount) From Payments AS p Where p.OrderID = Orders.ID),PayMethod =new.PayMethod WHere Orders.id = new.OrderID;
MySQL nepřijímá mezery mezi názvem funkce a závorkou (pokud jste nenastavili SQL_MODE=IGNORE_SPACE, ale to vám dává další nežádoucí vedlejší efekty)
Nastavení SQL_MODE můžete zkontrolovat spuštěním:
SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';
Dokumentace MySQL o tomto:odkaz
Nějaký příklad:
mysql> select sum(5);
+--------+
| sum(5) |
+--------+
| 5 |
+--------+
1 row in set (0.00 sec)
mysql> select sum (5);
ERROR 1305 (42000): FUNCTION sum does not exist
Řešení:Odstraňte mezeru
UPDATE Orders Set Paid =(Select SUM(Amount) From Payments AS p Where p.OrderID = Orders.ID),PayMethod =new.PayMethod WHere Orders.id = new.OrderID;