检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TION、DELAYED、IGNORE、VALUES以及ON DUPLICATE KEY UPDATE。 HIGH_PRIORITY MySQL中如果指定HIGH_PRIORITY,则会覆盖LOW_PRIORITY选项的效果。 输入示例 1 2 3 4 5 6 7 8 9 # HIGH_PRIORITY
DEFAULT alter table增加列包含not null约束时,如果无default值,在MySQL中会插入默认值,而在GaussDB(DWS)中插入到非空表时会报错,因此针对常见数据类型,alter table add column包含not null约束补充默认default值(详情见表1)。
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
runDSC.bat -S mysql 图3 DDL转换 可以在output文件夹下查看转换结果。 图4 DDL转换结果 连接GaussDB(DWS),执行以下SQL语句创建目标数据库,本例为migration。 1 CREATE DATABASE database_name WITH
CHANGE修改列 MySQL使用CHANGE关键字同时修改列名、列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DIRECTORY DIRECTORY表示允许在数据目录和索引目录之外创建表空间。DIRECTORY包含DATA DIRECTORY和INDEX DIRECTORY。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 输入示例 1 2 3 4
CHECK约束 CHECK约束声明一个布尔表达式,每次要插入的新行或者要更新的行的新值必须使表达式结果为真或未知才能成功,否则会上报一个异常并且不会修改数据库。 声明为字段约束的检查约束应该只引用该字段的数值,而在表约束里出现的表达式可以引用多个字段。 CREATE TABLE CHECK
DROP删除表 GaussDB(DWS)与MySQL都支持使用DROP语句删除表,但GaussDB(DWS)不支持在DROP语句中使用RESTRICT | CASCADE关键字。DSC工具迁移时会将上述关键字移除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE IF
CONNECTION GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 CONNECTION关键字在MySQL中用作引用外部数据源。工具暂不支持该特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例 1 2 3 4 5 6
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例
SPATIAL空间索引 GaussDB(DWS)不支持SPATIAL空间索引。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联SPATIAL空间索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
LIKE 表克隆 MySQL数据库中,可以使用CREATE TABLE .. LIKE ..方式克隆旧表结构创建新表。GaussDB(DWS)也支持这种建表方式。DSC工具迁移时会添加额外的表属性信息。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT
不同。DSC工具支持以下列出类型转换。 BLOB类型可以存储图片,列存储不支持BLOB。 类型对照 表1 大对象类型对照表 MySQL大对象类型 MySQL INPUT GaussDB(DWS) OUTPUT TINYBLOB TINYBLOB BLOB BLOB BLOB BLOB
AVG_ROW_LENGTH 在MySQL中,AVG_ROW_LENGTH表示平均每行的长度。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6 CREATE TABLE `public`.`runoob_tbl_test`(
PACK_KEYS 在MySQL中,PACK_KEYS表示MyISAM存储引擎中的压缩索引。GaussDB(DWS)不支持该属性,DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
事务管理 TRANSACTION DSC工具在迁移MySQL事务处理语句时会根据GaussDB(DWS)特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ##该声明仅适用于会话中执行的下一个单个事务 SET
ROW_FORMAT ROW_FORMAT定义了行存储的物理形式。ROW_FORMAT的选择与存储引擎有关,如果在创建表的时候选择了存储引擎不相关的ROW_FORMAT,则使用默认的ROW_FORMAT创建表。当ROW_FORMAT取值为DEFAULT,DSC迁移为SET NOC
ROUNDROBIN表 GaussDB(DWS)支持建立roundrobin表,根据实际需要设置表1中的参数table.type进行配置。设置table.type=ROUND-ROBIN。 输入示例 1 2 3 4 5 CREATE TABLE charge_snapshot (
MAX_ROWS 在MySQL中,MAX_ROWS表示在表中存储的最大行数。DSC迁移过程时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 CREATE TABLE `public`.`runoob_alter_test`( `dataType1` int