检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
参数值直接设置为字符串形式的'1'/'0'、'true'/'false'时,M-Compatibility设置成功,MySQL设置失败。 参数值设置为子查询的查询结果,当查询结果为'true'/'false'、非整数类型1/0时,M-Compatibility设置成功,MySQ
储的数据可能不一致,导致最后交换的数据也可能不一致。 MySQL的分区表不支持外键,普通表包含外键或其他表引用普通表的外键,则无法进行分区和普通表数据的交换;GaussDB的分区表支持外键,在两个表的外键约束一致时,则可进行分区和普通表数据的交换,GaussDB的分区表不带外键,
TABLE GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。
TABLE GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。
ORDER BY中排序的列必须包括在结果集的列中。 SELECT 在GaussDB中,在与GROUP BY子句一起使用的情况下,ORDER BY中排序的列必须包括在SELECT语句所检索的结果集的列中。在与DISTINCT关键字一起使用的情况下,ORDER BY中排序的列必须包括在SELECT语句所检索的结果集的列中。
GaussDB数据库支持指定库、模式、表或列的排序规则,支持的范围如下。 排序规则差异说明: 当前仅有字符串类型、部分二进制类型支持指定排序规则,其他类型不支持指定排序规则,可以通过查询pg_type系统表中类型的typcollation属性不为0来判断该类型支持字符序。MySQL中所有类型可以指定字符
BY子句中的列或聚合函数中使用的列。MySQL支持对此行为的扩展,并允许HAVING引用列表中的SELECT列和外部子查询中的列。 SELECT后跟行表达式 SELECT MySQL不支持SELECT后跟行表达式,GaussDB支持SELECT后跟行表达式。 MySQL的行为: mysql>
在M-Compatibility中,用户与权限管控相关的行为、语法整体沿用GaussDB的机制,暂不同步MySQL。 用户与权限的行为与GaussDB保持一致,具体行为说明请参见《开发指南》中的“数据库安全 > 用户及权限”章节。 用户与权限的语法在原有GaussDB的基础上,裁剪了部分语法,具体语法
支持,存在差异 MySQL:LIKE的左操作数只能是位运算或者算术运算或者由括号组成的表达式,LIKE的右操作数只能是单目运算符(不含NOT)或者括号组成的表达式。 GaussDB:LIKE的左右操作数可以是任意表达式。 [NOT] BETWEEN AND 支持,存在差异 MySQL:[NOT]
GaussDB数据库支持指定模式、表或列的排序规则,支持的范围如下。 排序规则差异说明: 当前仅有字符串类型、部分二进制类型支持指定排序规则,其他类型不支持指定排序规则,可以通过查询pg_type系统表中类型的typcollation属性不为0来判断该类型支持字符序。MySQL中所有类
支持,存在差异 MySQL:LIKE的左操作数只能是位运算或者算术运算或者由括号组成的表达式,LIKE的右操作数只能是单目运算符(不含NOT)或者括号组成的表达式。 GaussDB:LIKE的左右操作数可以是任意表达式。 [NOT] BETWEEN AND 支持,存在差异 MySQL:[NOT]
SQL DDL DML DCL 父主题: MySQL兼容性B模式
储的数据可能不一致,导致最后交换的数据也可能不一致。 MySQL的分区表不支持外键,普通表包含外键或其他表引用普通表的外键,则无法进行分区和普通表数据的交换;GaussDB的分区表支持外键,在两个表的外键约束一致时,则可进行分区和普通表数据的交换,GaussDB的分区表不带外键,
流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 信息函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性B模式
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式
变量名,在MySQL中不支持。 当关键字在M-Compatibility模式下为非保留关键字(不能是函数或类型),在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为函数名,在MySQL中支持。 在M-Compatibility模式下的非保留关键
INTO根据查询结果创建一个新表,MySQL不支持。 GaussDB的SELECT INTO语法不支持将多个查询进行集合运算后的结果作为查询结果。 REPLACE INTO语法兼容 REPLACE 时间类型初始值的差异。例如: MySQL不受严格模式和宽松模式的影响,可向表中插入时间0值,即:
驱动 JDBC 父主题: MySQL兼容性B模式
GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式