检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同一个表的锁,会自动释放上一个锁,并提交事务,M-Compatibility无该机制。 M-Compatibility中LOCK TABLE只能在一个事务块的内部有用,且无UNLOCK
二进制数据类型 表1 二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 支持,存在差异 输入格式: 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 插入字符串长度小于目标长度
二进制数据类型 表1 二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 支持,存在差异 输入格式: 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 插入字符串长度小于目标长度
致。 MySQL的分区表不支持外键,普通表包含外键或其他表引用普通表的外键,则无法进行分区和普通表数据的交换;GaussDB的分区表支持外键,在两个表的外键约束一致时,则可进行分区和普通表数据的交换,GaussDB的分区表不带外键,普通表有其他表引用,如果分区表和普通表表一致,则可进行分区和普通表数据的交换。
概述 MySQL兼容性B模式概述 MySQL兼容性M-Compatibility模式概述
'string']分隔符相同。 执行LOAD DATA语法写入表中的数据若无法转换为表中数据类型格式时报错。 LOAD DATA SET表达式中不支持指定列名计算。 若set表达式返回值类型与对应列类型之间不存在隐式转换函数则报错。 LOAD DATA只能用于表,不能用于视图。 Windows下的文件
系统表和系统视图 表1 M-Compatibility与GaussDB的系统表或系统视图的差异 系统表或系统视图 差异列 M-Compatibility与MySQL的差异 information_schema.columns generation_expression 该字段输出
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
SQL SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
SQL DDL DML DCL 父主题: MySQL兼容性B模式
成空格,与MySQL行为存在差异。如果兼容性参数m_format_behavior_compat_options中包含disable_zero_chars_conversion选项,则禁止将“\0”字符转换成空格,与MySQL行为一致。 ODBC 父主题: MySQL兼容性M-Compatibility模式
况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是使用转义字符\f、\Z、\0和\uxxxx的场景会与MySQL存在差异。 表1 JSON函数列表
驱动 ODBC 父主题: MySQL兼容性M-Compatibility模式
sec) 表1 日期与和时间函数列表 MySQL数据库 GaussDB数据库 差异 ADDDATE() 支持,存在差异 此函数的表现会因为interval表达式的差异与MySQL有差异,具体可见INTERVAL差异说明。 ADDTIME() 支持,存在差异 MySQL对第二入参为
且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 使用latin1字符序需要设置兼容性参数m_format_dev_version = 's2'。 表1 排序规则列表 MySQL数据库 GaussDB数据库
驱动 JDBC 父主题: MySQL兼容性B模式
并使用科学计数法计数。和MySQL的非JSON类型入参相同。但是在JSON类型入参时,由于JSON类型未完全与MySQL兼容,此场景下会产生差异。MySQL会完整显示数字(并且当数字长度超过82时,MySQL会给出错误的结果),GaussDB依然将超长数字解析为一个double
默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 主键:MySQL中TINYTEXT类型不支持主键,GaussDB支持。 索引:MySQL中TIN