Maison  >  Article  >  base de données  >  Comment MySQL réagit-il lorsque nous spécifions l'attribut binaire CHARACTER SET pour un type de données chaîne ?

Comment MySQL réagit-il lorsque nous spécifions l'attribut binaire CHARACTER SET pour un type de données chaîne ?

王林
王林avant
2023-09-09 13:57:02982parcourir

当我们为字符串数据类型指定 CHARACTER SET 二进制属性时,MySQL 如何反应?

En spécifiant un attribut binaire CHARACTER SET pour un type de données chaîne de caractères, MySQL crée cette colonne comme type de chaîne binaire suivant. Les conversions pour les types de données CHAR, VARCHAR et BLOB s'effectuent comme suit −

  • CHAR deviendrait BINARY
  • VARCHAR deviendrait VARBINARY
  • TEXT deviendrait BLOB

Le type de conversion ci-dessus ne se produit pas pour les données ENUM et SET type et ils sont tous deux créés comme déclaré lors de la création de la table.

Exemple

Dans l'exemple ci-dessous, nous avons créé une table nommée 'EMP' avec quatre colonnes toutes spécifiées comme binaire CHARACTER SET comme suit −

mysql> Create table Emp(Name varchar(10) CHARACTER SET binary, Address CHAR(10)CHARACTER SET binary, Designation TEXT CHARACTER SET binary, Field ENUM('ENG','SS') CHARACTER SET binary);
Query OK, 0 rows affected (0.16 sec)

Mais maintenant, en vérifiant le statut de la table, à l'aide de la requête ci-dessous, nous pouvons voir que MySQL a changé le type de données en fonction de sa chaîne binaire suivante.

mysql> Show Create Table EMP\G
*************************** 1. row ***************************
      Table: EMP
Create Table: CREATE TABLE `emp` (
   `Name` varbinary(10) DEFAULT NULL,
   `Address` binary(10) DEFAULT NULL,
   `Designation` blob,
   `Field` enum('ENG','SS') CHARACTER SET binary DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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