检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL数据库兼容性B模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动 父主题: 集中式版
AS语法创建出的表,使用DESC查看表结构时,存在以下差异: MySQL8.0中: 对于表中的列类型(Type)为BIGINT类型或INT类型时不显示宽度。 对于表中的列类型(Type)的宽度为0时,显示宽度,如binary(0)。 GaussDB中: 对于表中的列类型(Type)为BIGINT类型或INTEGER类型时会显示宽度。
驱动 JDBC 父主题: MySQL数据库兼容性B模式
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 2 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全
GaussDB数据库兼容绝大多数MySQL的操作符,但存在部分差异。如未列出,操作符行为默认为GaussDB原生行为,目前存在MySQL不支持但是GaussDB支持的语句,不建议使用这类语句。 操作符差异 ORDER BY排序对NULL值处理的差异。MySQL在排序时会将NULL值排序
支持 无论参数的数据类型如何,concat返回值的数据类型始终为text;MySQL的concat在含有二进制类型参数时,返回值为二进制类型。 3 CONCAT_WS() 支持 无论参数的数据类型如何,concat_ws返回值的数据类型始终为text;MySQL的concat_ws在
为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中不支持。 当关键字在M-Compatibility模式下为保留关键字(可以是函数或类型),在MySQL中为保留关键字,其差异为:在M-Compatibility模式下可作为列别名、AS列别名、函数名和变量名,在MySQL中不支持。
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 序号 MySQL数据库 GaussDB数据库 1 用户自定义变量@var_name 部分支持 2 全局变量@@var_name 部分支持 父主题: MySQL数据库兼容性B模式
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中不支持。 当关键字在M-Compatibility模式下为保留关键字(可以是函数或类型),在MySQL中为保留关键字,其差异为:在M-Compatibility模式下可作为列别名、AS列别名、函数名和变量名,在MySQL中不支持。
支持,有差异。 MySQL中可以通过GUC参数old_passwords控制生成密码的哈希方式: old_passwords的默认值为0。 old_passwords为0:表示使用MySQL 4.1 native hashing加密。 old_passwords为2:表示使用SHA-256
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
数据类型 GaussDB的数据类型的大部分功能场景与MySQL一致,但存在部分差异。 除特别说明,部分数据类型精度、标度、位数大小等不支持用浮点型数值定义,建议使用合法的整型数值定义。 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性
------ 1.23 (1 row) --Mysql 5.7 mysql> CREATE TABLE sub_query_table (myfloat float); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO sub_query_table
强制转换函数 表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 由于函数执行机制不同,flags无法传递给内层函数,在cast函数嵌套其他函数(如greatest、least等)时,内层函数返回小于1的值,结果与MySQL不一致。 --GaussDB:
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,以下为表1。 表1 限制做标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
ema具有权限,与MySQL存在差异。 42 HAVING语法 SELECT GaussDB的HAVING必须且只能引用GROUP BY子句中的列或聚合函数中使用的列。MySQL支持对此行为的扩展,并允许HAVING引用列表中的SELECT列和外部子查询中的列。 43 SELECT后跟行表达式
ROLLUP又有ORDER BY写法,MySQL不支持。 46 支持SQL Mode中ONLY_FULL_GROUP_BY选项 SELECT SELECT列表中非聚合函数列与GROUP BY字段不一致时,非聚合函数列都需要出现GROUP BY列表或WHERE列表中,且WHERE子句中的列需要等于某一常量
MySQL数据库兼容性M-Compatibility模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 计划外应用无损透明 父主题: 集中式版
务块中使用,MySQL无限制。 6 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取