Insertion MySQL d'un entier incorrect : identification de la cause et de la solution
Lorsque vous essayez d'insérer des entiers dans une base de données MySQL, vous pouvez rencontrer des cas où la valeur insérée diffère de manière inattendue de l'entrée prévue. Cet écart peut se produire lorsque la valeur prévue dépasse la taille entière maximale prise en charge par MySQL.
Dans le scénario spécifique présenté, un utilisateur tente d'insérer un identifiant Steam64 (identifié par la variable $steam64) dans la colonne steam64. d'une table MySQL. Lors de l'exécution, ils remarquent que l'entier inséré est incorrect.
Cause première :
La cause première de ce problème réside dans les limitations de taille entière maximale de MySQL. Le type entier par défaut de MySQL, INT, a une valeur maximale de 2 147 483 647. Tout entier supérieur à cela sera tronqué et inséré comme valeur maximale.
Solution :
Pour résoudre ce problème, vous devez modifier le type de données de la colonne steam64 à BIGINT. BIGINT prend en charge les entiers d'une valeur maximale de 9 223 372 036 854 775 807, ce qui est suffisant pour stocker les identifiants Steam64 sans troncature. La requête SQL modifiée ressemblera à ce qui suit :
$sql_query = "INSERT INTO users_info (steam64) VALUES ($steam64)";
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!