Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SUMA FUNKCJI nie istnieje

Spójrz na wyzwalacz:

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 nie akceptuje spacji między nazwą funkcji a nawiasem (chyba że ustawiłeś SQL_MODE=IGNORE_SPACE, ale daje to inne niepożądane efekty uboczne)

Możesz sprawdzić ustawienie SQL_MODE, uruchamiając:

SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';

Dokumentacja MySQL na ten temat:link

Jakiś przykład:

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

Rozwiązanie:Usuń miejsce

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. Jak {} wpływa na zapytanie MySQL w PHP?

  2. Jak poprawić wydajność INSERT na bardzo dużej tabeli MySQL?

  3. Zdarzenia cykliczne, zapytanie SQL

  4. monitorowanie mysql pod kątem zmian

  5. Jak sprawdzić, czy wartość istnieje w bazie danych MySQL