為字串資料類型指定 CHARACTER SET 二進位屬性時,MySQL 會建立該列作為其後續的二進位字串類型。 CHAR、VARCHAR 和 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中文網其他相關文章!