检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
系统函数兼容性概述 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性B模式中的函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,这是
当查询语句不带from子句时,GaussDB支持带where子句,与MySQL 8.0保持一致,MySQL 5.7不支持。 -- GaussDB m_db=# SELECT 1 WHERE true; 1 --- 1 (1 row) -- MySQL 5.7 mysql> SELECT 1 WHERE true;
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
TABLE CREATE TABLE带CHECK约束的时候,MySQL 8.0会生效,MySQL 5.7只解析语法但不生效。GaussDB在此功能上同步MySQL 8.0版本,且GaussDB CHECK约束可以引用其他列,而MySQL不能。 GaussDB 一个表中最多只能加32767个CHECK约束。
SQL SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
驱动 ODBC 父主题: MySQL兼容性M-Compatibility模式
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
USER、ALTER USER设置用户相关属性。 MySQL支持用户代理赋权,GRANT PROXY ON主要用于对多个用户进行统一的权限管理。MySQL 5.7未提供角色机制,而在MySQL 8.0和M-Compatibility中都提供了角色机制。角色能满足用户对于多个用户权限统一管控的目标,可以替代GRANT
GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 GaussDB不支持可执行注释。
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 父主题: SQL
aussDB中输出结果为t/f,MySQL为1/0,BOOLEAN类型实际映射为TINYINT类型。 子查询 SELECT GaussDB不支持子查询结果包含多列,包含多列时执行会报错;MySQL支持子查询包含多列。 MySQL的行为: mysql> SELECT row(1,2)
窗口函数 窗口函数差异说明:MySQL数据库管理系统在调用窗口函数时,OVER子句中的ORDER BY子句与PARTITION BY子句不支持使用列别名,GaussDB数据库支持使用列别名。 表1 窗口函数列表 MySQL数据库 GaussDB数据库 差异 LAG() 支持,存在差异
且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci 支持 utf8mb4_unicode_ci
系统函数兼容性概述 流程控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 比较函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性M-Compatibility模式
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
视图中对于整型的类型回显,不支持指定精度范围。如MySQL的bigint(1),M-Compatibility下对应的是bigint类型,MySQL中bigint(21) unsigned,在M-Compatibility下对应的是bigint unsigned类型。 MySQL中int类型,在M-Co
utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 使用latin1字符序需要设置兼容性参数m_format_dev_version = 's2'。 表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 SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式