46 votes

La valeur BIGINT UNSIGNED est hors de portée

Je reçois l’erreur

La valeur BIGINT UNSIGNED est hors de portée dans '(1301980250 - . . `` )'

Lorsque j’exécute la requête

La suppression de la condition ORDER BY supprime également l’erreur. Comment puis-je y remédier?

Mettre à jour: Le champ de date contient l’horodatage unix (ex: 1298944082). L’erreur a commencé à apparaître après la mise à niveau de MySQL de 5.0.x vers 5.5.x

De l’aide s’il vous plaît ?

87voto

ab5tract Points 151

Je me suis récemment heurté à cela et j’ai trouvé la solution la plus raisonnable pour simplement lancer tous les ints NON SIGNÉS comme SIGNÉS.

17voto

Joyce Babu Points 3056

Le problème a été causé par un dépassement d’entier non signé comme suggéré par wallyk. Il peut être résolu par

  1. utilisation ` (Celui-ci a fonctionné pour moi)
  2. Modification sql_mode paramètre dans my.cnf en `` (n’avez pas vérifié ceci)

8voto

Ian Chadwick Points 1050

Cela peut parfois être causé par des valeurs NULL dans les données.

Utilisez IFNULL pour définir une valeur par défaut (probablement 0 pour un horodatage est une mauvaise valeur par défaut et en fait dans ce cas, vous feriez peut-être mieux d’exclure et de null dates dans la clause WHERE)

``

4voto

wallyk Points 33150

Toute valeur de date après 2011-04-04 22:10:50 PDT (2011-04-05 05:10:50 utc) provoquera cette erreur car cela rendrait l’expression négative.

3voto

fairjm Points 64

peut-être que vous pouvez utiliser ``

``

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X