Silakan baca "Penanganan di Luar Jangkauan dan Meluap
".
Tertulis:
mysql> SELECT 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807 + 1)'
Untuk mengaktifkan operasi agar berhasil dalam kasus ini, ubah nilainya menjadi unsigned;
mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+-------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) + 1 |
+-------------------------------------------+
| 9223372036854775808 |
+-------------------------------------------+
Perubahan pada bagian dari kueri Anda, sebagai berikut, akan menyelesaikan masalah.
( CAST( quantity AS SIGNED ) - COUNT( game_moblist.spawn_id ) ) AS quantity_to_spawn
Jika tidak, Anda mungkin perlu mengubah sql_mode
pada operasi yang tidak ditandatangani.
mysql> SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
lalu jalankan kueri Anda untuk mendapatkan hasil yang diinginkan.
Lihat juga postingan serupa yang dijawab di forum