检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
REPLACE MySQL的REPLACE操作形式包括:LOW_PRIORITY、PARTITION 、DELAYED 、VALUES、SET;(下述迁移示例为临时迁移方案) REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与主键或唯一索引的新行具有相同的值,则在插入新行之前删除该旧行。
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
null约束时,如果无default值,在MySQL中会插入默认值,而在GaussDB(DWS)中插入到非空表时会报错,因此针对常见数据类型,alter table add column包含not null约束补充默认default值(详情见表1)。 输入示例 1 2 3 4
LOW_PRIORITY MySQL REPLACE支持使用LOW_PRIORITY ,DSC工具将对其进行转换。 输入 1 2 3 4 5 6 # LOW_PRIORITY 低优先级 Replace LOW_PRIORITY INTO exmp_tb2 VALUES(1, '128
数据操作语句(DML) SELECT INSERT UPDATE REPLACE 父主题: MySQL语法迁移
DELAYED 在MySQL 5.7中,DELAYED关键字被接受,但被服务器忽略。 输入示例 1 2 3 4 5 6 7 8 9 # DELAYED 延迟 INSERT DELAYED INTO exmp_tb2 VALUES(99, 15.68, 'good', '2018-11-12');
SET MySQL INSERT...SET语句的形式插入基于明确指定的值的行。 输入示例 1 2 3 4 # INSERT INTO SET 可以针对性的执行插入操作,但是一次只能插入一行数据,不能批量添加数据 INSERT INTO exmp_tb2 SET tb2_price=56
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 表1 兼容项差异 兼容项 Oracle兼容 Teradata兼容
LOW_PRIORITY MySQL INSERT插入语句使用LOW_PRIORITY修饰符时,则执行该INSERT延迟。 输入示例 1 2 3 4 5 6 # LOW_PRIORITY 低优先级 INSERT LOW_PRIORITY INTO exmp_tb2 VALUES(
表示兼容Oracle、Teradata和MySQL数据库。 若创建数据库时不指定该参数,默认为ORA。 为解决DATABASE的兼容性模式问题,需要将两个数据库的兼容模式修改为一致。GaussDB(DWS)不支持ALTER方式修改已有数据库的兼容模式DBCOMPATIBILITY
ORDER BY 如果一个MySQL UPDATE语句包含一个 ORDER BY子句,则这些行将按照该子句指定的顺序更新。 输入示例 1 2 # 测试 ORDER BY 语法点 UPDATE employees SET department_id=department_id+1 ORDER
值的最大长度不同。DSC工具支持以下列出类型转换。 BLOB类型可以存储图片,列存储不支持BLOB。 类型对照 表1 大对象类型对照表 MySQL大对象类型 MySQL INPUT GaussDB(DWS) OUTPUT TINYBLOB TINYBLOB BLOB BLOB BLOB
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
模式对象与数据定义(DDL) 表(可选参数、操作) 索引 注释 数据库 父主题: MySQL语法迁移
UPDATE MySQL的UPDATE操作形式包括:LOW_PRIORITY、ORDER BY、LIMIT 、IGNORE。 LOW_PRIORITY ORDER BY LIMIT IGNORE 父主题: 数据操作语句(DML)
JSON类型 概述 JSON数据类型可以用来存储JSON(JavaScript Object Notation)数据,DSC工具支持以下列出类型转换。 类型对照 输入示例JSON 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
DELAYED DELAYED插入和替换在MySQL 5.6中被弃用。在MySQL 5.7中,DELAYED不支持。服务器识别但忽略DELAYED关键字,将替换处理为非延迟替换,并生成ER_WARN_LEGACY_SYNTAX_CONVERTED警告。 REPLACE DELAY
STATS_PERSISTENT 在MySQL中,STATS_PERSISTENT指定是否为InnoDB表启动持久性统计信息,通过CREATE TABLE或ALTER TABLE语句启动持久性统计信息。DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 7
PARTITION MySQL REPLACE支持使用PARTITION关键字和分区,子分区或两者的逗号分隔名称列表显式分区选择。 输入 1 2 3 4 5 replace INTO employees PARTITION(p3) VALUES (19, 'Frank1', 'Williams'
MAX_ROWS 在MySQL中,MAX_ROWS表示在表中存储的最大行数。DSC迁移过程时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 CREATE TABLE `public`.`runoob_alter_test`( `dataType1` int