检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
来判断该类型支持字符序。MySQL中所有类型可以指定字符序,但除字符串、二进制类型其他排序规则无实际意义。 当前排序规则仅支持在其对应字符集与库级字符集一致时可以指定。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致,utf8
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
数据类型 GaussDB数据库的数据类型大部分功能场景与MySQL一致,但存在部分差异。 除特别说明外,MySQL兼容性MySQL模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型
MySQL兼容性B模式 MySQL兼容性B模式概述 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动 父主题: 集中式版
支持,存在差异 返回值与MySQL有差异,GaussDB返回的是numeric,MySQL返回的是int。 UTC_DATE() 支持,存在差异 MySQL支持无括号调用,GaussDB不支持。MySQL入参整型值会按照一字节最大值255整数回绕。 MySQL入参只支持0-6整数,
MySQL兼容性M-Compatibility模式 MySQL兼容性M-Compatibility模式概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动 父主题: 分布式版
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
JSON数据类型 表1 JSON数据类型 MySQL数据库 GaussDB数据库 JSON 不完全兼容 父主题: 数据类型
ctor-go-pq,驱动包当前不支持在线导入,需要将解压缩后的Go驱动源码包放在本地工程,同时需要配置环境变量。具体Go驱动开发请参考《开发指南》中“应用程序开发教程 > 基于Go驱动开发”章节。另外,需保证环境上已安装7.3以上版本的gcc。 Go驱动支持密态数据库相关操作,
EXCHANGE PARTITION。MySQL自动增长列必须为索引第一个字段。 AUTO_INCREMENT = value语法,value必须为小于2^127的正数。MySQL不校验value。 当自增值已经达到字段数据类型的最大值时,继续自增将产生错误。MySQL有些场景产生错误或警告,有些场景仍自增为最大值。
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式
获取驱动jar包并配置JDK1.8 环境准备包括获取驱动jar包、配置JDK1.8。 获取驱动jar包 从发布包中获取驱动jar包,包名为GaussDB-Kernel-数据库版本号-操作系统-64bit-Jdbc.tar.gz。解压后JDBC的驱动jar包: gsjdbc4.jar:主类名为“org
char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
开发流程 数据库Go驱动遵循Go语言第三方库的规则,只需在应用程序中import驱动,并将驱动代码放入GOPATH路径。 图1 采用Go开发应用程序的流程图 根据图1,Go驱动应用开发流程依赖于Go原生的sql包和GaussDB开发的driver驱动,sql包提供用户使用的标准接
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 表2 任意精度类型 MySQL数据库 GaussDB数据库 差异 DECIMAL[(M[,D])] 支持 操作符:GaussDB中“^”表示指数运算,如需使用异或运算符,使用“#”替换;MySQL中“^”表示异或。
加密函数 表1 加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持 - AES_ENCRYPT() 支持 - 父主题: 系统函数
63”。由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,
在MySQL中Database和Schema是同义词;而在GaussDB中,一个Database 下可以有多个Schema。在该特性中,每个MySQL中的Database都被映射到GaussDB的一个Schema。 在MySQL中,INDEX从属于一个TABLE,但在GaussDB
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题: