當我們為字元型資料型別指定CHARACTER SET binary屬性時,MySQL是如何反應的?
在為字元型資料型別指定CHARACTER SET binary屬性時,MySQL會將其建立為相應的二進位制字串型別。CHAR、VARCHAR和BLOB資料型別的轉換如下:
- CHAR將變為BINARY
- VARCHAR將變為VARBINARY
- TEXT將變為BLOB
上述轉換不適用於ENUM和SET資料型別,它們在建立表時將按宣告的方式建立。
示例
在下面的示例中,我們建立了一個名為“EMP”的表,其中四個列都指定為CHARACTER SET binary:
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)
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP