Læs venligst "Udenfor rækkevidde og overløbshåndtering
".
Der står:
mysql> SELECT 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807 + 1)'
For at aktivere handlingen til at lykkes i dette tilfælde skal du konvertere værdien til usigneret;
mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+-------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) + 1 |
+-------------------------------------------+
| 9223372036854775808 |
+-------------------------------------------+
En ændring af en del af din forespørgsel, som følger, ville løse problemet.
( CAST( quantity AS SIGNED ) - COUNT( game_moblist.spawn_id ) ) AS quantity_to_spawn
Ellers kan det være nødvendigt at ændre sql_mode
på usignerede operationer.
mysql> SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
og kør derefter din forespørgsel for at få det ønskede output.
Se også et lignende indlæg besvaret på et forum
Sådan får du et række-for-række MySQL-resultatsæt i python
MYSQL-output i træformat ELLER Tilføjelse af niveau (forælder-barn)