「
それは言う:
mysql> SELECT 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807 + 1)'
この場合に操作を成功させるには、値をunsignedに変換します;
mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+-------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) + 1 |
+-------------------------------------------+
| 9223372036854775808 |
+-------------------------------------------+
次のようにクエリの一部を変更すると、問題が解決します。
( CAST( quantity AS SIGNED ) - COUNT( game_moblist.spawn_id ) ) AS quantity_to_spawn
それ以外の場合は、sql_mode
を変更する必要がある場合があります 署名されていない操作について。
mysql> SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
次に、クエリを実行して目的の出力を取得します。