检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局
获取驱动jar包并配置JDK1.8 环境准备包括获取驱动jar包、配置JDK1.8。 获取驱动jar包 从发布包中获取驱动jar包,包名为GaussDB-Kernel_数据库版本号_操作系统_64bit_Jdbc.tar.gz(如GaussDB-Kernel_505.2.RC1_Kylin_64bit_Jdbc
本功能上与MySQL数据库兼容。 GaussDB的执行计划和优化、EXPLAIN显示结果与MySQL不同。 由于GaussDB数据库与MySQL数据库底层框架实现存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 由于GaussDB的底层架构与MySQL存在差异,对
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
gz解压后,根据需要,单击psqlodbc.exe(32位)进行驱动安装。 打开驱动管理器。 在配置数据源时,请使用32位的ODBC驱动管理器(目前仅支持32位的ODBC驱动管理器,假设操作系统安装盘符为C盘,如果是其他盘符,请对路径做相应修改): 64位操作系统请使用:C:\Windows\SysWOW64\odbcad32
支持 - JSON_UNQUOTE() 支持,存在差异 在转义字符中\0和\uxxxx的场景与MySQL有差异: SELECT json_unquote('"\0"'); mysql> SELECT json_unquote('"\0"'); ERROR 3141 (22032):
column?。 SELECT布尔值:回显为bool。 设置此配置项时,列名回显为全部的函数或表达式输入。 对于普通注释,MySQL客户端会将注释忽略,gsql客户端和pymysql不会忽略。 对于如/*!形式开头的注释,MySQL服务端会将其转为可执行语句,M兼容暂不支持识别此类注释,因此作为普通注释处理。
当查询语句不带from子句时,GaussDB支持带where子句,与MySQL 8.0保持一致,MySQL 5.7不支持。 -- GaussDB m_db=# SELECT 1 WHERE true; 1 --- 1 (1 row) -- MySQL 5.7 mysql> SELECT 1 WHERE true;
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
开发流程 数据库Go驱动遵循Go语言第三方库的规则,只需在应用程序中import驱动,并将驱动代码放入GOPATH路径。 图1 采用Go开发应用程序的流程图 父主题: 基于Go驱动开发
窗口函数列表 MySQL数据库 GaussDB数据库 差异 LAG() 支持,存在差异 偏移量N的取值范围不同: MySQL中,N只允许是在范围[0, 263-1]整数值。 GaussDB中,N只允许是在范围[0, 231-1]整数值。 偏移量N的取值形式不同: MySQL中,取值形式如下:
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。只能使用M-Compatibility兼容模式下的系统函数,不能使用原GaussDB的系统函数,避免产生非预期的结果。当前存在原GaussDB的系统函数和MySQL系统函数同名,但是M-Compatibi
数据)和Const(常量输入)类型时的情况与MySQL保持一致,其他情况(如入参为运算表达式、函数表达式等)可能返回值的类型与MySQL有差异。 系统函数在涉及LIMIT与OFFSET同时使用的查表场景下,由于GaussDB和MySQL的执行层机制不同,GaussDB会逐行调用函
数字操作函数列表 MySQL数据库 GaussDB数据库 差异 log2() 支持,存在差异 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示; 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异;
开发流程 数据库Go驱动遵循Go语言第三方库的规则,只需在应用程序中import驱动,并将驱动代码放入GOPATH路径。 图1 采用Go开发应用程序的流程图 根据图1,Go驱动应用开发流程依赖于Go原生的sql包和GaussDB开发的driver驱动,sql包提供用户使用的标准接
视图中对于整型的类型回显,不支持指定精度范围。如MySQL的bigint(1),M-Compatibility下对应的是bigint类型,MySQL中bigint(21) unsigned,在M-Compatibility下对应的是bigint unsigned类型。 MySQL中int类型,在M-Co
utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 使用latin1字符序需要设置兼容性参数m_format_dev_version = 's2'。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 表2 任意精度类型 MySQL数据库 GaussDB数据库 差异 DECIMAL[(M[,D])] 支持 操作符:GaussDB中“^”表示指数运算,如需使用异或运算符,使用“#”替换;MySQL中“^”表示异或。
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,