Mysql
 sql >> база данни >  >> RDS >> Mysql

FUNCTION SUM не съществува

Вижте спусъка:

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 не приема интервали между името на функцията и скоби (освен ако не сте задали SQL_MODE=IGNORE_SPACE, но това ви дава други нежелани странични ефекти)

Можете да проверите настройката SQL_MODE, като изпълните:

SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';

Документация на MySQL за това:връзка

Някои примери:

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

Решение:Премахнете място

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL UPDATE с SELECT SUM от различна таблица

  2. Някаква причина за клауза GROUP BY без функция за агрегиране?

  3. Две вмъквания в PHP/MySQL с помощта на LAST_INSERT_ID() и редове от друга таблица

  4. Как мога да търся списък с думи в таблица с думи, които се свързват с друга таблица?

  5. Синхронизиране на локална база данни на Microsoft MySQL с отдалечена база данни на mysql, планирано ежедневно