本文為您介紹 MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶對於修改不同約束下的列的欄位類型的不相容情境。
本文表格中,對比類型空白表示相應約束下不支援該類型、虛線(-)表示沒有、all 表示全部類型。
主鍵(PRIMAEY KEY)約束下欄位類型的修改
如果 主鍵 列中包含下表中的欄位類型,通過 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL,對該列進列欄位類型修改操作,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別如下。
MySQL 資料庫的欄位類型 | 允許執行修改的類型 | OceanBase 資料庫 MySQL 租戶的欄位類型 | 允許執行修改的類型 |
INT | all | INTEGER | - |
TINYINT | all | TINYINT | BOOLEAN |
SMALLINT | all | SMALLINT | - |
MEDIUMINT | all | MEDIUMINT | - |
BIGINT | all | BIGINT | - |
BOOL | all | BOOLEAN | TINYINT |
DECIMAL | all | DECIMAL | - |
NUMERIC | all | NUMERIC | - |
REAL | all | FLOAT | - |
DOUBLE | all | DOUBLE | - |
FLOAT | all | FLOAT | - |
BIT | all | BIT | - |
CHAR | all | CHAR | - |
NCHAR | all | CHAR | - |
VARCHAR | all | VARCHAR | - |
BINARY | all | BINARY | - |
VARBINARY | all | VARBINARY | - |
LONG VARBINARY | all | ||
YEAR | all | YEAR | - |
DATE | all | DATE | - |
TIME | all | TIME | - |
TIMESTAMP | all | TIMESTAMP | - |
DATETIME | all | DATETIME | - |
TINYBLOB | all | ||
MEDIUMBLOB | all | ||
BLOB | all | ||
LONGBLOB | all | ||
TINYTEXT | all | ||
MEDIUMTEXT | all | ||
TEXT | all | ||
LONGTEXT | all | ||
ENUM | all | ENUM | - |
SET | all | SET | - |
JSON | all |
唯一鍵(UNIQUE KEY)約束下欄位類型的修改
如果 唯一鍵 列中包含上述表格中的欄位類型,通過 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 對該列進列欄位類型修改操作,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別與主鍵(PRIMAEY KEY)約束下欄位類型的修改一致。
普通鍵(KEY)約束下欄位類型修改
如果 普通鍵 列中包含上述表格中的欄位類型,通過 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 對該列進列欄位類型修改操作,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別與主鍵(PRIMAEY KEY)約束下欄位類型的修改一致。
外鍵(FOREIGN KEY)約束下欄位類型的修改
如果 外鍵 列中包含上述表格中的欄位類型,通過 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 對該列進列欄位類型修改操作,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別與主鍵(PRIMAEY KEY)約束下欄位類型的修改一致。
全文索引(FULLTEXT)約束下欄位類型的修改
如果 全文索引 列中包含下表中的欄位類型,通過 ALTER TABLE table_name MODIFY / CHANGE COLUMN DDL 對該列進列欄位類型修改操作,MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的區別如下。
MySQL 資料庫的欄位類型 | 允許執行修改的類型 | OceanBase 資料庫 MySQL 租戶的欄位類型 | 允許執行修改的類型 |
CHAR | all | CHAR | - |
VARCHAR | all | VARCHAR | - |
TINYTEXT | all | TINYTEXT | - |
MEDIUMTEXT | all | MEDIUMTEXT | - |
TEXT | all | TEXT | - |
LONGTEXT | all | LONGTEXT | - |
BINARY | - | ||
VARBINARY | - | ||
NCHAR | all | CHAR | - |
JSON | all |