Maison >base de données >tutoriel mysql >Pourquoi ma colonne entière MySQL stocke-t-elle des valeurs incorrectes ?

Pourquoi ma colonne entière MySQL stocke-t-elle des valeurs incorrectes ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 09:46:11436parcourir

Why is my MySQL integer column storing incorrect values?

Insertion d'un entier incorrect dans MySQL

Lors de l'insertion d'un entier dans une base de données MySQL à l'aide d'une requête SQL comme celle fournie :

$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";

Vous pouvez rencontrer un problème où l'entier inséré diffère de celui stocké dans le $steam64 variable.

Enquête

Le débogage de ce problème implique de vérifier la valeur de $steam64 à l'aide de var_dump ou echo, ce qui confirme que l'entier correct est stocké. La différence réside dans les limitations de stockage des entiers de MySQL.

Solution

La valeur entière maximale que MySQL peut stocker dans un champ int est 2147483647. Si l'entier à insérer dépasse cette valeur limite, elle est tronquée pour s'adapter, ce qui entraîne une valeur incorrecte. Pour résoudre ce problème, modifiez le type de données du champ steam64 de int à bigint. Cela permettra le stockage d'entiers plus grands sans troncature.

EXEMPLE

ALTER TABLE users_info MODIFY steam64 BIGINT;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn