检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
VIRTUAL] MySQL数据库中虚拟生成列支持创建索引,GaussDB数据库中不支持。 MySQL数据库中虚拟生成列支持作为分区键,GaussDB数据库中不支持。 GaussDB数据库中生成列的CHECK约束兼容MySQL8.0数据库的行为,即CHECK约束检查生效。 MySQL数据库中存储生成列作为分区键时,支持ALTER
表3 浮点类型 序号 MySQL数据库 GaussDB数据库 差异 1 FLOAT[(M,D)] [ZEROFILL] 支持,存在差异 FLOAT数据类型不支持KEY键值分区策略分区表。 2 FLOAT(p) [ZEROFILL] 支持,存在差异 FLOAT数据类型不支持KEY键值分区策略分区表。
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
TABLE、CREATE TABLE GaussDB中前缀长度不得超过2676,键值的实际长度受内部页面限制,若字段中含有多字节字符或者一个索引上有多个键,索引行长度可能会超限报错。 GaussDB中主键索引中不支持前缀键,创建或添加主键时不支持指定前缀长度。 支持指定字符集与排序规则 ALTER
GLOBAL TRANSACTION 设置全局会话级事务特性,该特性适用于后续会话,对当前会话无影响。 M-Compatibility中,GLOBAL是全局会话级别生效,只针对当前数据库实例,其它数据库不影响。 MySQL中,会使所有数据库生效。 -- SET TRANSACTION会话级生效。
CREATE DATABASE test_database_info DBCOMPATIBILITY 'mysql'; 步骤四:迁移数据库 创建DRS实例,将本地MySQL上的test_info数据库同步到GaussDB实例中test_database_info数据库中。 迁移前检查
不触发自增;MySQL中自动增长列插入NULL值,触发自增。 3 支持前缀索引 CREATE INDEX、ALTER TABLE、CREATE TABLE 前缀长度不得超过2676,键值的实际长度受内部页面限制,若字段中含有多字节字符或者一个索引上有多个键,索引行长度可能会超限报错。
日期与时间数据类型 表1 日期与时间数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 DATE 支持 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 输入格式 GaussDB只支持字符类型,不支持数值类型。如支持'2020-01-01'或
GLOBAL TRANSACTION 设置全局会话级事务特性,该特性适用于后续会话,对当前会话无影响。 M-Compatibility中,GLOBAL是全局会话级别生效,只针对当前数据库实例,其它数据库不影响。 MySQL中,会使所有数据库生效。 -- SET TRANSACTION会话级生效。
t1; DROP TABLE GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64,而GaussDB标识符长度限制为63。 GaussDB不支持可执行注释。 父主题: SQL
MySQL数据库兼容性M-Compatibility模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 父主题: 分布式版
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL数据库兼容性B模式
------ 1.23 (1 row) --Mysql 5.7 mysql> CREATE TABLE sub_query_table (myfloat float); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO sub_query_table
表3 浮点类型 序号 MySQL数据库 GaussDB数据库 差异 1 FLOAT[(M,D)] 支持 分区表支持:FLOAT数据类型不支持KEY键值分区策略分区表。 操作符:GaussDB中“^”表示指数运算,如需使用异或运算符,使用“#”替换;MySQL中“^”表示异或。 取
表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 由于函数执行机制不同,flags无法传递给内层函数,在cast函数嵌套其他函数(如greatest、least等)时,内层函数返回小于1的值,结果与MySQL不一致。 --GaussDB:
DML 序号 MySQL数据库功能概述 详细语法说明 GaussDB数据库实现差异 1 DELETE支持从多个表中删除数据 DELETE - 2 DELETE支持ORDER BY和LIMIT DELETE - 3 DELETE支持从指定分区(或子分区)删除数据 DELETE - 4
聚合函数 表1 聚合函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 GROUP_CONCAT() 支持 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
当前排序规则(除binary外)仅支持在其对应字符集与库级字符集一致时可以指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。
TRING或TIME其中一个时,输出为text类型,MySQL输出为varchar类型。 两入参类型第一个入参为float4,另一个为bigint或unsigned bigint时返回double类型,MySQL返回float类型。 3 NULLIF() 支持 GaussDB中NULLIF()类型推导遵从以下逻辑:
GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4 支持 2 gbk 支持 3 gb18030 支持 4 utf8 支持 5 binary 支持 父主题: MySQL数据库兼容性B模式