Maison >base de données >tutoriel mysql >Pourquoi ma base de données MySQL tronque-t-elle mon SteamID64 et comment puis-je y remédier ?

Pourquoi ma base de données MySQL tronque-t-elle mon SteamID64 et comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 22:10:16660parcourir

Why Does My MySQL Database Truncate My SteamID64, and How Can I Fix It?

Limitation de précision des entiers MySQL :

L'API Web Steam fournit un entier de 64 bits appelé $steam64. Lors de l'insertion de cette valeur dans une base de données MySQL à l'aide de la requête INSERT INTO users_info (steam64) VALUES ("$steam64"), vous rencontrez un écart entre la valeur stockée dans la variable et la valeur insérée dans la base de données.

En effet, MySQL a une limite de précision pour les types entiers. La valeur entière maximale pouvant être stockée dans une colonne entière est 2 147 483 647. Étant donné que la valeur $steam64 dépasse cette limite, MySQL la tronque à la plus grande valeur autorisée, soit 2 147 483 647.

Solution :

Pour résoudre ce problème, modifiez la colonne tapez de INT à BIGINT. BIGINT peut stocker des entiers jusqu'à 9 223 372 036 854 775 807, ce qui est suffisant pour les entiers de 64 bits.

Modifiez la définition de la table pour inclure la modification suivante :

ALTER TABLE users_info MODIFY COLUMN steam64 BIGINT;

Après avoir effectué cette modification, la requête insérez la valeur $steam64 64 bits correcte dans le 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!

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