Maison  >  Article  >  base de données  >  BOOLEAN ou TINYINT pour stocker des valeurs dans MySQL ?

BOOLEAN ou TINYINT pour stocker des valeurs dans MySQL ?

PHPz
PHPzavant
2023-09-18 18:53:131455parcourir

BOOLEAN 或 TINYINT 在 MySQL 中存储值?

BOOLEAN et BOOL de MySQL sont équivalents à TINYINT(1). Chaque fois que vous créez une colonne en utilisant les types de données BOOLEAN et BOOL, MySQL convertit implicitement BOOLEAN et BOOL en TINYINT(1). BOOLEAN et BOOL sont des équivalents de TINYINT(1) car ce sont des synonymes.

Créez un tableau en utilisant le type de données BOOLEAN. Instruction de requête pour créer une table.

mysql> create table BooleanDemo
   -> (
   -> IsOn BOOLEAN
   -> );
Query OK, 0 rows affected (0.58 sec)

Vérifiez maintenant la structure interne du tableau ci-dessus. La requête est la suivante −

mysql> show create table BooleanDemo;

Output

+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table       | Create Table                                                                                                                     |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| BooleanDemo | CREATE TABLE `booleandemo` ( `IsOn` tinyint(1) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

En regardant l'exemple de sortie ci-dessus, BOOLEAN est converti en tinyint(1). Il en va de même pour le type de données BOOL. La requête pour créer la table est la suivante : −

mysql> create table BOOLDemo
   -> (
   -> validUser BOOL
   -> );
Query OK, 0 rows affected (0.61 sec)

Vérifiez maintenant la structure interne de la table. La requête est la suivante -

mysql> show create table BOOLDemo;

output

+----------+------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                       |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| BOOLDemo | CREATE TABLE `booldemo` (`validUser` tinyint(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer