检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 不支持 - VARBINARY(M) 不支持 - TINYBLOB 支持,存在差异 取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限制后会报错。MySQL中该类型
GaussDB数据库兼容绝大多数MySQL的操作符,但存在部分差异。除特别说明外,MySQL兼容性B模式中的操作符行为默认为GaussDB原生行为。 表1 操作符 MySQL数据库 GaussDB数据库 差异 安全等于(<=>) 支持 - [NOT] REGEXP 支持,存在差异 当设置GUC参数b
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
GaussDB的START TRANSACTION支持设置多次隔离级别/事务访问模式/开启一致性快照,覆盖生效。 SET设置用户变量 SET @var_name := expr MySQL用户变量名支持使用转义字符或双重引号转义,GaussDB用户变量名不支持。 单引号括起的变量名,变量名不
TRANSACTION开启事务时,同时支持设置隔离级别;同时设置多次隔离级别/事务访问模式时,只有最后一个会生效;当前版本不支持立即开启一致性快照;多个事务特性支持空格和逗号分隔。 MySQL的start transaction 开启事务时,不支持设置隔离级别,不支持设置多次事务访问模式;多个事务特性只支持逗号分隔。
EXCHANGE PARTITION。MySQL自动增长列必须为索引第一个字段。 AUTO_INCREMENT = value语法,value必须为小于2^127的正数。MySQL不校验value。 当自增值已经达到字段数据类型的最大值时,继续自增将产生错误。MySQL有些场景产生错误或警告,有些场景仍自增为最大值。
processlist视图内字段内容与大小写保持一致,MySQL中可能存在差异。 GaussDB中用户只能访问自己的线程信息,拥有SYSADMIN权限的用户可以访问所有用户的线程信息。 MySQL中用户只能访问自己的线程信息,拥有PROCESS权限的用户可以访问所有用户的线程信息。 SHOW [STORAGE]
INTO语法不支持将多个查询进行集合运算后的结果作为查询结果。 REPLACE INTO语法兼容 REPLACE 时间类型初始值的差异。例如: MySQL不受严格模式和宽松模式的影响,可向表中插入时间0值,即: mysql> CREATE TABLE test(f1 TIMESTAMP NOT
processlist视图内字段内容与大小写保持一致,MySQL中可能存在差异。 GaussDB中用户只能访问自己的线程信息,拥有SYSADMIN权限的用户可以访问所有用户的线程信息。 MySQL中用户只能访问自己的线程信息,拥有PROCESS权限的用户可以访问所有用户的线程信息。 SHOW [STORAGE]
GaussDB在触发器或用户自定义函数中自增时,刷新last_insert_id返回值。MySQL不刷新。 GaussDB的对GUC参数auto_increment_offset和auto_increment_increment设置超出范围的值会产生错误。MySQL会自动改为边界值。
默认情况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是使用转义字符\f、\Z、\0和\uxxxx的场景会与MySQL存在差异。 表1
支持SET用户自定义变量 SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
无论参数的数据类型如何,concat返回值的数据类型始终为text;MySQL的concat在含有二进制类型参数时,返回值为二进制类型。 CONCAT_WS() 支持,存在差异 无论参数的数据类型如何,concat_ws返回值的数据类型始终为text;MySQL的concat_w
对于JSON函数和其他字符入参函数,如果输入中包含转义字符,默认情况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是会产生非标准字符输入的warning告警,
GUC参数group_concat_max_len有效范围是0-1073741823,最大值比MySQL小。 DEFAULT() 支持,存在差异 字段默认值为数组形式,GaussDB返回数组形式,MySQL不支持数组类型。 GaussDB字段是隐藏列(比如xmin、cmin),default函数返回空值。
SQL SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
成空格,与MySQL行为存在差异。如果兼容性参数m_format_behavior_compat_options中包含disable_zero_chars_conversion选项,则禁止将“\0”字符转换成空格,与MySQL行为一致。 ODBC 父主题: MySQL兼容性M-Compatibility模式
流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 信息函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性B模式