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
Libérer: 2024-12-13 09:46:11
original
373 Les gens l'ont consulté

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')";
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal