MySQL Importation d'un entier incorrect : 2147483647
Lorsque vous essayez d'insérer un entier significatif dans une base de données MySQL, les utilisateurs peuvent rencontrer un problème particulier où un un numéro différent est stocké que celui prévu. Pour approfondir la solution, explorons l'extrait de code fourni :
$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";
Il tente d'insérer la valeur stockée dans la variable $steam64 dans une colonne de base de données nommée steam64. Cependant, les utilisateurs signalent que la valeur insérée diffère de celle contenue dans $steam64. La cause première de ce problème réside dans le type de données de la colonne steam64. Dans MySQL, le type de données par défaut pour les entiers est INT, qui peut stocker des valeurs allant de -2 147 483 648 à 2 147 483 647.
Dans ce cas, la valeur insérée (2147483647) dépasse la valeur maximale pouvant être détenue par un Type de données INT. Par conséquent, MySQL convertit automatiquement la valeur en le plus grand entier qu'il peut prendre en charge, soit 2147483647.
Pour résoudre ce problème, le type de données de la colonne steam64 doit être modifié en BIGINT. Ce type de données a une plus grande plage de valeurs prises en charge et peut confortablement prendre en charge la valeur de 2147483647 sans aucune troncature ni conversion. Une fois le type de données modifié, la valeur correcte sera insérée dans la base de données.
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!