检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
VIRTUAL] MySQL数据库中虚拟生成列支持创建索引,GaussDB数据库中不支持。 MySQL数据库中虚拟生成列支持作为分区键,GaussDB数据库中不支持。 GaussDB数据库中生成列的CHECK约束兼容MySQL 8.0数据库的行为,即CHECK约束检查生效。 MySQL数据库
SQL SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
流程控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。 IFNULL()
日期和时间函数 以下为GaussDB数据库M-Compatibility兼容性日期时间函数公共说明,与MySQL行为一致。 函数入参为时间类型表达式的情况: 时间类型表达式主要包括TEXT、DATETIME、DATE或TIME,但所有可以隐式转换为时间表达式的类型都可以作为入参,比
日期和时间函数 以下为GaussDB数据库M-Compatibility兼容性日期时间函数公共说明,与MySQL行为一致。 函数入参为时间类型表达式的情况: 时间类型表达式主要包括TEXT、DATETIME、DATE或TIME,但所有可以隐式转换为时间表达式的类型都可以作为入参,比
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
返回结果与MySQL 5.7不一致,此处为MySQL 5.7存在的问题,MySQL 8.0修复了该问题,目前GaussDB和MySQL 8.0保持一致。 ISNULL() 支持,存在差异 函数返回值类型在MySQL 5.7和MySQL 8.0中存在差异,结合MySQL 8.0的行
s2'后,返回的建表语句才兼容MySQL。兼容的内容包括:列注释位置变更、表注释位置变更、全局临时表ON COMMIT选项位置变更、主键与唯一约束位置变更、主键与唯一约束中的USING INDEX TABLESPACE选项不再显示以及索引注释位置变更。 SHOW CREATE VIEW语法
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局
窗口函数 窗口函数差异说明:MySQL数据库管理系统在调用窗口函数时,OVER子句中的ORDER BY子句与PARTITION BY子句不支持使用列别名,GaussDB数据库支持使用列别名。 表1 窗口函数列表 MySQL数据库 GaussDB数据库 差异 LAG() 支持,存在差异
JDBC JDBC接口参考 父主题: 驱动
流量控制函数 表1 流量控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 expr1入参仅支持bool类型。非bool类型入参若不能转换为bool类型则报错。 若expr2、expr3两个入参类型不同且两类型间不存在隐式转换函数则报错。 两个入参类型相同时,返回该入参类型。
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持
流程控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。 IFNULL()
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
db_mysql=# SET @`\`` = 1; db_mysql`# 形如set @var_name1 = @var_name2 := @var_name3 = @var_name4 := expr; 连续赋值,MySQL支持,GaussDB不支持。 db_mysql=# set
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
(1, '数据库', 1.11, 2.12, 3.133), (2, '数据库', 2.11, 2.22, 3.233), (3, '数据库', 3.11, 2.32, 3.333), (4, '数据库', 1.41, 2.42, 3.343), (5, '数据库', 1.51
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,