Comprendre la différence entre Tinyint(2) et Tinyint(1) dans MySql
Bien que l'on sache qu'un type de données booléen dans MySql est représenté par tinyint(1), vous avez peut-être rencontré une table dans laquelle les entiers sont définis comme tinyint(2), ou d'autres variantes telles que int(4), int(6), etc. Cet article vise à clarifier la signification de ces nombres dans le contexte des types de données entiers et tinyint.
Le nombre (m) suivant le nom du type, tel que tinyint(m), indique la largeur d'affichage de la colonne. Cette valeur est principalement utilisée par des applications comme le client MySQL pour déterminer le formatage et le remplissage des résultats affichés.
Par exemple, considérons la structure de tableau suivante :
| v (tinyint(1)) | a (tinyint(2)) | b (tinyint(3)) | c (tinyint(4)) |
La largeur d'affichage de les valeurs dans ces colonnes seront les suivantes :
| v | a | b | c | +-----+-----+-----+-----+ | 1 | 1 | 1 | 1 | | 10 | 10 | 10 | 10 | | 100 | 100 | 100 | 100 |
Comme vous pouvez le voir, les valeurs sont complétées par des espaces sur le côté gauche pour correspondre à la largeur d'affichage spécifiée.
C'est crucial à noter que la largeur d'affichage n'affecte pas la plage de valeurs acceptées pour le type de données. Par exemple, une colonne tinyint(1) acceptera toujours les valeurs comprises entre -128 et 127, quelle que soit sa largeur d'affichage.
En résumé, le nombre qui suit le type de données tinyint ou int dans MySql (m) représente le la largeur d'affichage de la colonne, qui affecte la façon dont les valeurs sont formatées et complétées lorsqu'elles sont affichées dans les applications. Cela n'a pas d'impact sur la plage de valeurs valide pour ce type de données particulier.
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!