首頁  >  文章  >  資料庫  >  當我們為字串資料類型指定 CHARACTER SET 二進位屬性時,MySQL 如何反應?

當我們為字串資料類型指定 CHARACTER SET 二進位屬性時,MySQL 如何反應?

王林
王林轉載
2023-09-09 13:57:02936瀏覽

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

為字串資料類型指定 CHARACTER SET 二進位屬性時,MySQL 會建立該列作為其後續的二進位字串類型。 CHAR、VARCHAR 和 BLOB 資料類型的轉換如下 -

  • #CHAR 將變成 BINARY
  • VARCHAR 將變成 VARBINARY
  • #TEXT 將變成 BLOB

ENUM 和SET 資料類型不會發生上述類型的轉換,它們都是在建立表格時按照聲明建立的。

範例

在下面的範例中我們建立了一個名為「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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除