检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
表达式 GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 序号 MySQL数据库 GaussDB数据库 1 用户自定义变量@var_name 部分支持 2 全局变量@@var_name 部分支持 父主题:
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL数据库兼容性B模式
当前排序规则(除binary外)仅支持在其对应字符集与库级字符集一致时可以指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。
窗口函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 LAG() 支持,有差异。 偏移量N的取值范围不同: MySQL中,N只允许是在范围[0, 263-1]整数值。 GaussDB中,N只允许是在范围[0, 231-1]整数值。 偏移量N的取值形式不同: MySQL中,取值形式如下:
CREATE DATABASE test_database_info DBCOMPATIBILITY 'mysql'; 步骤四:迁移数据库 创建DRS实例,将本地MySQL上的test_info数据库同步到GaussDB实例中test_database_info数据库中。 迁移前检查
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
操作符 GaussDB数据库兼容绝大多数MySQL的操作符,但存在部分差异。如未列出,操作符行为默认为GaussDB原生行为。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 安全等于(<=>) 支持 - 2 [NOT] REGEXP 支持 当开启b_for
MySQL数据库兼容性M-Compatibility模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 计划外应用无损透明 父主题: 集中式版
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。如未列出,函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,这是由于部分数据类型在某些场景下仍
GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4 支持 2 gbk 支持 3 gb18030 支持 4 utf8 支持 5 binary 支持 父主题: MySQL数据库兼容性B模式
数据类型支持的属性 数据类型转换 父主题: MySQL数据库兼容性B模式
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 <> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引。 2 <=> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
MySQL数据库兼容性M-Compatibility模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 父主题: 分布式版
数据类型转换。 MySQL数据库支持任意两种数据类型之间做转换。 由于存在以上差异,基于MySQL数据库的应用程序向GaussDB数据库迁移时,SQL语句可能由于不支持不同数据类型之间的转换而报错。或者支持转换的场景下,转换的规则有差异导致SQL语句执行的结果不同。 推荐的做法是
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 <> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引。 2 <=> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
其他函数 表1 其他函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 UUID() 支持 - 2 UUID_SHORT() 支持 - 父主题: 系统函数
报错,并提示M-Compatibility兼容模式数据库不支持;其他行为和《开发指南》中的“SQL参考 > 函数和操作符 > 字符处理函数和操作符”章节中的同名函数保持一致。 MySQL数据库支持通过可加载函数接口,向MySQL中添加自定义函数,在调用此类函数时,函数的入参支持指
M-Compatibility事务中报错,需要执行rollback,MySQL无限制。 5 事务相关语法 锁机制 M-Compatibility锁机制只能在事务块中使用,MySQL无限制。 6 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibi