sql >> Database >  >> RDS >> Mysql

FUNCTIESOM bestaat niet

Kijk naar 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 accepteert geen spaties tussen functienaam en haakjes (tenzij u SQL_MODE=IGNORE_SPACE hebt ingesteld, maar dat geeft u andere ongewenste bijwerkingen)

U kunt de SQL_MODE-instelling controleren door het volgende uit te voeren:

SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';

MySQL-documentatie hierover:link

Enkele voorbeelden:

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

Oplossing:ruimte verwijderen

UPDATE Orders Set Paid =(Select SUM(Amount) From Payments AS p Where p.OrderID  = Orders.ID),PayMethod =new.PayMethod  WHere Orders.id = new.OrderID;


  1. Gematerialiseerde weergaven met MySQL

  2. Wat zijn de sqlite-equivalenten van MySQL's INTERVAL en UTC_TIMESTAMP?

  3. Niet-alphaNumerics verwijderen in MySQL

  4. Hoe kan ik controleren of er een datumbereik bestaat?