Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SUM FUNGSI tidak ada

Lihat pemicunya:

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 tidak menerima spasi antara nama fungsi dan tanda kurung (kecuali Anda telah mengatur SQL_MODE=IGNORE_SPACE tetapi itu memberi Anda efek samping lain yang tidak diinginkan)

Anda dapat memeriksa pengaturan SQL_MODE dengan menjalankan:

SHOW GLOBAL VARIABLES LIKE 'SQL_MODE';

Dokumentasi MySQL tentang ini:tautan

Beberapa contoh:

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

Solusi:Hapus ruang

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. Permintaan MySQL:Menggunakan UNION dan mendapatkan nomor baris sebagai bagian dari SELECT

  2. Sambungan otomatis ke PDO hanya jika diperlukan

  3. Persistensi koneksi PHP MySQL

  4. Operator perbandingan MySQL, spasi

  5. MySQL:Kode Kesalahan:1118 Ukuran baris terlalu besar (> 8126). Mengubah beberapa kolom menjadi TEXT atau BLOB