sql >> Database teknologi >  >> RDS >> Mysql

FUNCTION SUM eksisterer ikke

Se på 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 accepterer ikke mellemrum mellem funktionsnavn og parentes (medmindre du har indstillet SQL_MODE=IGNORE_SPACE, men det giver dig andre uønskede bivirkninger)

Du kan kontrollere SQL_MODE-indstillingen ved at køre:

SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';

MySQL-dokumentation om dette:link

Et eksempel:

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

Løsning:Fjern plads

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. Mysql-databasesynkronisering mellem to databaser

  2. Hvordan kan jeg i SQL Server låse en enkelt række på en måde, der ligner Oracles SELECT FOR UPDATE WAIT?

  3. Liste over områder, der understøttes af Oracle-databasen

  4. Magento:Tilføj produktattributter med modulinstallationsscript