检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
partitions nodegroup M-Compatibility中不支持该字段。 视图中对于整型的类型回显,不支持指定精度范围。如MySQL的bigint(1),M-Compatibility下对应的是bigint类型,MySQL中bigint(21) unsigned,在M-Compatibility下对应的是bigint
每一个字符类型的表达式含有字符集和字符序属性。 在MYSQL模式(即sql_compatibility = 'MYSQL')的数据库下,如果设置参数b_format_version='5.7'和b_format_dev_version='s2'时,字符串常量的默认字符集与字符序由系统参数ch
GaussDB提供的字符处理函数和操作符主要用于字符串与字符串、字符串与非字符串之间的连接,以及字符串的模式匹配操作。注意:字符串处理函数除了length相关函数,其他函数和操作符不支持大于1GBclob作为参数。 bit_length(string) 描述:字符串的位数。 返回值类型:int 示例:
留的缓存值也只在其线程中使用,未完全使用完毕的话,也会出现表中自动增长列的值不连续的情况。并行插入产生的自增值结果无法保证与MySQL完全一致。 本地临时表中的自动增长列批量插入时不会预留自增值,正常场景不会产生不连续的自增值。MySQL临时表与普通表中的自动增长列自增结果一致。
系统函数兼容性概述 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性MySQL模式中的函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数
在M-Compatibility中是设置当前事务的隔离级别。 在MySQL中是设置会话级事务的隔离级别。 GaussDB中,通过使用SET命令,只能改变当前事务的隔离级别。如果想要改变会话级的隔离级别,可以使用default_transaction_isolation。在MySQL中,通过使用SET命令,可以改变会话级的事务隔离级别。
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
事务嵌套 M-Compatibility中嵌套事务不会自动提交,MySQL会自动提交。 事务相关语法 自动提交 M-Compatibility使用GaussDB存储,继承GaussDB事务机制,事务中执行DDL,DCL不会自动提交。MySQL在DDL、DCL、管理类语句,锁相关语句会自动提交。
在MySQL中Database和Schema是同义词;而在GaussDB中,一个Database 下可以有多个Schema。在该特性中,每个MySQL中的Database都被映射到GaussDB的一个Schema。 在MySQL中,INDEX从属于一个TABLE,但在GaussDB
驱动 GaussDB中,驱动PBE接口通过文本模式传参时,如果兼容性参数m_format_behavior_compat_options中不包含disable_zero_chars_conversion选项,服务端会将参数中的“\0”字符替换成空格,与MySQL行为存在差异。如果兼
加密函数 表1 加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持 - AES_ENCRYPT() 支持 - 父主题: 系统函数
风险。在MySQL 8.0版本修复了上述相关的问题,因此merge rule聚合规则以8.0为准。 MySQL中BINARY和CHAR填充字符不相同,BINARY填充'\0',CHAR填充空格,GaussDB中BINARY和CHAR都是填充空格。 在精度传递场景下,使用CASE
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
只有字符串类型(不包括"char"、name、clob)的对象和表达式的字符集可以不同于数据库的字符集。 ARRAY、XML、JSON、TSVECTOR等数据类型含有文本数据,这些数据类型的对象和表达式中的文本数据的字符集必须是数据库字符集。 在字符集和字符序合并规则中,认为C
精度确定:以表达式中的最大精度作为最终结果。 从以上规则可知:GaussDB和MySQL数据库在数据类型的转换规则上有很大差异,不能直接对比。在上述场景下,SQL语句的执行结果可能和MySQL数据库不一致。当前版本推荐各个表达式使用相同的类型,或提前使用cast转换成需要的类型来规避差异。
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
JSON数据类型 MySQL数据库 GaussDB数据库 差异 JSON 支持,存在差异 GaussDB数据库MySQL兼容性B模式中的JSON类型与GaussDB数据库原生的JSON类型行为一致,与MySQL行为差异较大,此处不再逐个列出。 GaussDB数据库MySQL兼容性B模式
值也只在其线程中使用,未完全使用完毕的话,也会出现表中自动增长列的值不连续的情况。并行插入产生的自增值结果无法保证与MySQL完全一致。 GaussDB的本地临时表中的自动增长列批量插入时不会预留自增值,正常场景不会产生不连续的自增值。MySQL临时表与普通表中的自动增长列自增结果一致。
事务嵌套 M-Compatibility中嵌套事务不会自动提交,MySQL会自动提交。 事务相关语法 自动提交 M-Compatibility使用GaussDB存储,继承GaussDB事务机制,事务中执行DDL,DCL不会自动提交。MySQL在DDL、DCL、管理类语句,锁相关语句会自动提交。