ホームページ  >  記事  >  データベース  >  文字列データ型に CHARACTER SET バイナリ属性を指定すると、MySQL はどのように反応しますか?

文字列データ型に CHARACTER SET バイナリ属性を指定すると、MySQL はどのように反応しますか?

王林
王林転載
2023-09-09 13:57:02980ブラウズ

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

文字列データ型に CHARACTER SET バイナリ属性を指定すると、MySQL はそのカラムを後続のバイナリ文字列型として作成します。 CHAR、VARCHAR、および BLOB データ型の変換は次のように行われます。 -

  • CHAR は BINARY
  • VARCHAR は VARBINARY
  • TEXT は BLOB## になります
#上記の種類の変換は、ENUM および SET データ型では発生せず、どちらもテーブルの作成時に宣言どおりに作成されます。

以下の例では、次のように CHARACTER SET バイナリとして指定された 4 つのカラムを持つ「EMP」という名前のテーブルを作成しました。-

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)

しかし、以下のクエリを使用してテーブルのステータスを確認すると、MySQL が後続のバイナリ文字列に従ってデータ型を変更しました。

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)

以上が文字列データ型に CHARACTER SET バイナリ属性を指定すると、MySQL はどのように反応しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。