检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
换、仅支持赋值时转换。不支持的场景下即使定义了转换路径,也不能做数据类型转换。 MySQL数据库支持任意两种数据类型之间做转换。 由于存在以上差异,基于MySQL数据库的应用程序向GaussDB数据库迁移时,SQL语句可能由于不支持不同数据类型之间的转换而报错。或者支持转换的场景
63”。由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,
操作符 GaussDB数据库兼容绝大多数MySQL的操作符,但存在部分差异。除特别说明外,MySQL兼容性B模式中的操作符行为默认为GaussDB原生行为。 表1 操作符 MySQL数据库 GaussDB数据库 差异 安全等于(<=>) 支持 - [NOT] REGEXP 支持,存在差异
从发布包中获取。包名为GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Jdbc.tar.gz。 解压后JDBC的驱动jar包: gsjdbc4.jar:主类名为“org.postgresql.Driver”,数据库连接的URL前缀为“jdbc:postgresql”,该驱动包适用于从Post
由于数据库的Go驱动当前不适配业界成熟ORM框架(比如xorm),在创建数据库连接时传入的驱动名称兼容“postgres”和“postgresql”。 数据库的Go驱动无法与PostgreSQL的Go驱动并存。 ecpg兼容 ecpg提供使用URL连接方式的连接语法,不仅支持“ga
使用Go驱动操作密态数据库 在执行本节的SQL语句之前,请确保已完成前两阶段:准备阶段、配置阶段。 本节以完整的执行流程为例,介绍如何使用密态数据库语法,包括三个阶段:使用DDL阶段、使用DML阶段、清理阶段。 连接密态数据库 连接密态数据库需要使用Go驱动包openGauss-
sDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。 表1 排序规则列表 MySQL数据库
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
日期与时间数据类型 表1 日期与时间数据类型 MySQL数据库 GaussDB数据库 差异 DATE 支持,存在差异 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 输入格式 GaussDB只支持字符类型,不支持数值类型。如支持'2020-01-01'或
流量控制函数 表1 流量控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 expr1入参仅支持bool类型。非bool类型入参若不能转换为bool类型则报错。 若expr2、expr3两个入参类型不同且两类型间不存在隐式转换函数则报错。 两个入参类型相同时,返回该入参类型。
使用Go驱动操作密态数据库 执行本节的SQL语句前,请确保已提前生成主密钥,并确认访问主密钥的参数。 本节以完整的执行流程为例,介绍如何使用密态数据库语法,包括三个阶段:连接阶段、使用DDL阶段、使用DML阶段。 连接密态数据库 连接密态数据库需要使用Go驱动包openGauss
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式
row in set (0.00 sec) mysql> DROP TABLE test_int; 表2 任意精度类型 MySQL数据库 GaussDB数据库 差异 DECIMAL[(M[,D])] [ZEROFILL] 支持,存在差异 MySQL DECIMAL用一个9*9的数组存储
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
CREATE DATABASE test_database_info DBCOMPATIBILITY 'mysql'; 步骤四:迁移数据库 创建DRS实例,将本地MySQL上的test_info数据库同步到GaussDB实例中test_database_info数据库中。 迁移前检查
替换客户端GaussDB驱动程序。 根据需要,将包名为GaussDB-Kernel_数据库版本号_Windows_X64_Odbc.tar.gz的64位驱动或包名为GaussDB-Kernel_数据库版本号_Windows_X86_Odbc.tar.gz的32位驱动解压后,单击psqlODBC