检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
同的值,则在插入新行之前删除该旧行。 LOW_PRIORITY MySQL REPLACE支持使用LOW_PRIORITY ,DSC工具将对其进行转换。 输入 1 2 3 4 5 6 # LOW_PRIORITY 低优先级 Replace LOW_PRIORITY INTO exmp_tb2
MODIFY修改列 TRUNCATE 删除表 ROUNDROBIN表 RENAME 重命名表名 设置与清除列默认值 字段名重命名 行列存压缩 添加与删除列 父主题: MySQL语法迁移
CREATE TABLE AS创建一个表并且用来自SELECT命令的结果填充该表,该表的字段和SELECT输出字段的名字及数据类型相关。不过用户可以通过明确地给出一个字段名字列表来覆盖SELECT输出字段的名字。 CREATE TABLE AS对源表进行一次查询,然后将数据写入新表中,
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
ALGORITHM MySQL扩展了对ALTER TABLE … ALGORITHM=INSTANT的支持:用户可以在表的任何位置即时添加列、即时删除列、添加列时评估行大小限制。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例
事务管理 TRANSACTION DSC工具在迁移MySQL事务处理语句时会根据GaussDB(DWS)特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ##该声明仅适用于会话中执行的下一个单个事务 SET
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
步骤一:准备MySQL数据 购买RDS实例,参见表1配置关键参数,其他参数可保持默认,如需了解详情请参见RDS文档。 表1 RDS参数 参数项 取值 计费模式 按需计费 区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上 数据库端口 3306
constraint 原因分析 针对上述案例,表t1中的字段b在建表时,设置了非空(not null)约束,那么字段b中不能有空值。而插入数据时b列为空,则执行报错。 解决方案 针对上述案例,有两种解决方案: 方案一:使用ALTER TABLE删除字段b的非空(not null)约束 1 2 3
在“序列名称”字段输入序列名称。 勾选“区分大小写”,“序列名称”字段文本将区分大小写。例如,输入的序列名称为“Employee”,则序列名称将创建为“Employee”。 在“最小值”字段输入最小值。 在“增量”字段输入要递增的值。 在“最大值”字段输入最大值。 最大和最小值的取值范
quence_name')函数递增序列并返回新值,将nextval('sequence_name')函数读取的序列值,指定为某一字段的默认值,这样该字段就可以作为唯一标识符。 创建序列 方法一: 声明字段类型为序列整型来定义标识符字段。例如: 1 2 3 4 5 CREATE TABLE
quence_name')函数递增序列并返回新值,将nextval('sequence_name')函数读取的序列值,指定为某一字段的默认值,这样该字段就可以作为唯一标识符。 创建序列 方法一: 声明字段类型为序列整型来定义标识符字段。例如: 1 2 3 4 5 CREATE TABLE
already exists 原因分析 在SQL语句中,字段名称是区分大小写的,默认为小写字段名。 解决办法 在大小写有严格要求的场景下,需要给字段名称加上双引号,如下图重新执行SQL语句,则创建成功。 父主题: 数据库使用
explicitly. hashtext函数用于计算适当数据类型的值的哈希值。此处仅用作示例说明出现collate冲突时应该如何解决。 原因分析 表t中有两个字段,且两个字段的排序规则不同,字段a的排序规则为C(安装数据库时的默认排序规则),字段b的排序规则为case_insensitive(不
--删除表。 mysql_db=# DROP TABLE t3; --切换数据库为gaussdb mysql_db=# \c gaussdb --删除数据库。 DROP DATABASE ora_db; DROP DATABASE td_db; DROP DATABASE mysql_db;
唯一索引 普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 父主题: MySQL语法迁移
'UTF8MB4'; ##mysql中不支持 SET CHARACTER SET 'UCS2'; ##mysql中不支持SET CHARACTER SET 'UTF16'; ##mysql中不支持SET CHARACTER SET 'UTF16LE'; ##mysql中不支持SET CHARACTER
--删除表。 mysql_db=# DROP TABLE t3; --切换数据库为gaussdb mysql_db=# \c gaussdb --删除数据库。 DROP DATABASE ora_db; DROP DATABASE td_db; DROP DATABASE mysql_db;