检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL中视图存储,只记录目标表的表名、列名、数据库名信息,不记录目标表的唯一标识;GaussDB会将创建视图时的SQL解析,并存储目标表的唯一标识。因此存在如下差异: 修改存在视图依赖的列的数据类型,MySQL中对应的视图不感知目标表的修改,因此可以修改成功;GaussDB视图中的列禁止修改数据类型,因此无法修改该列的数据类型。
GaussDB中,当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0~127根据ASCII标准解释,而字节值128~255则当作无法解析的字符;如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助用户转换或者校验非ASCII字符。 MySQL的返回值类型为BINAR
身份认证与访问控制 服务的访问控制 父主题: 安全
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
数据类型支持的属性 表1 数据类型支持的属性 MySQ数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持
MySQL中视图存储,只记录目标表的表名、列名、数据库名信息,不记录目标表的唯一标识;GaussDB会将创建视图时的SQL解析,并存储目标表的唯一标识。因此存在如下差异: 修改存在视图依赖的列的数据类型,MySQL中对应的视图不感知目标表的修改,因此可以修改成功;GaussDB视图中的列禁止修改数据类型,因此无法修改该列的数据类型。
GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性B模式中的函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,这是由于部分数据类型在某
流程控制函数 表1 流程控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。
不可以作为函数或变量的标识符。 保留 ANY、ARRAY、BUCKETS、DO、END、LESS、MODIFY、OFFSET、ONLY、RETURNING、SOME、USER 不可以作为任意数据库标识符。 GaussDB优化器与MySQL的优化器存在差异,由于优化器生成的执行计划的差异,可能
MySQL兼容性M-Compatibility模式 MySQL兼容性M-Compatibility模式概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动 父主题: 分布式版
信息函数 表1 信息函数列表 MySQ数据库 GaussDB数据库 差异 LAST_INSERT_ID() 支持 - 父主题: 系统函数
实例说明 数据库实例类型 数据库实例存储类型 数据库引擎版本说明 数据库实例状态
imal')的情况下,当聚合函数以其他函数、操作符或SELECT子句等表达式作为入参时(如SELECT sum(abs(n)) FROM t),聚合函数将获取不到入参表达式传递的精度信息,导致函数的结果精度与MySQL有差异。 聚合函数的结果与数据输入顺序相关,不同的数据输入顺序会导致结果存在差异。
JSON数据类型 表1 JSON数据类型 MySQ数据库 GaussDB数据库 JSON 不完全兼容 父主题: 数据类型
) ; 支持 record的列可以定义为NOT NULL属性也可以指定默认值。其他类型嵌套record类型,record类型的默认值和NOT NULL不生效;通过package.record_type访问类型的形式来创建record变量,该record变量的默认值和NOT NULL不生效。
网络地址函数 表1 网络地址函数列表 MySQL数据库 GaussDB数据库 差异 INET_ATON() 支持 - INET_NTOA() 支持 - INET6_ATON() 支持 - INET6_NTOA() 支持,存在差异 GaussDB中,有效入参类型支持VARBINARY或BINARY类型;
) ; 支持 record的列可以定义为NOT NULL属性也可以指定默认值。其他类型嵌套record类型,record类型的默认值和NOT NULL不生效;通过package.record_type访问类型的形式来创建record变量,该record变量的默认值和NOT NULL不生效。
如果数据库字符集是SQL_ASCII,可能产生未预期的结果。 FIND_IN_SET() 支持,存在差异 当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0~127根据ASCII标准解释,而字节值128~255则当作无法解析的字符;如果该函数的输入输出包含了任何非ASCII数据,
INTO根据查询结果创建一个新表,MySQL不支持。 GaussDB的SELECT INTO语法不支持将多个查询进行集合运算后的结果作为查询结果。 REPLACE INTO语法兼容 REPLACE 时间类型初始值的差异。例如: MySQL不受严格模式和宽松模式的影响,可向表中插入时间0值,即: mysql>
集中式版 Oracle数据库兼容性概述 SQL的基本元素 伪列 操作符 表达式 条件 常见的SQL DDL子句 SQL查询和子查询 PL/SQL语言 系统函数 系统视图 高级包 父主题: 与Oracle兼容性说明