Dépannage du problème de sélection MySQL FLOAT
Lors de la tentative de récupération d'une ligne d'une table MySQL basée sur une valeur flottante, un problème courant survient lorsque la valeur correspondante renvoie zéro ligne. Ce problème peut se manifester lorsque les flottants de la table et la requête ont une précision différente.
Par exemple, considérons la requête suivante :
SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
Même si la table contient une ligne avec ident= 'ident23' et price='101.31', la requête peut ne pas y correspondre en raison d'une précision différente. Pour résoudre ce problème, vous pouvez convertir la colonne de prix en type DECIMAL :
SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);
Cela garantira que les deux valeurs sont comparées avec la même précision, permettant à la requête de récupérer la ligne correcte.
Vous pouvez également envisager de modifier définitivement la colonne de prix en type DECIMAL. DECIMAL est généralement le type de données préféré pour gérer les valeurs monétaires en raison de sa plus grande précision par rapport à FLOAT.
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!