检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
column和database.table.column;GaussDB只支持使用column,不支持使用table.column和database.table.column,二者存在差异。 UPDATE SET执行顺序与MySQL存在差异 UPDATE ... SET MySQL中,UPDATE
aussDB中输出结果为t/f,MySQL为1/0,BOOLEAN类型实际映射为TINYINT类型。 子查询 SELECT GaussDB不支持子查询结果包含多列,包含多列时执行会报错;MySQL支持子查询包含多列。 MySQL的行为: mysql> SELECT row(1,2)
EXCHANGE PARTITION。MySQL自动增长列必须为索引第一个字段。 AUTO_INCREMENT = value语法,value必须为小于2^127的正数。MySQL不校验value。 当自增值已经达到字段数据类型的最大值时,继续自增将产生错误。MySQL有些场景产生错误或警告,有些场景仍自增为最大值。
UOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 GaussDB不支持可执行注释。 父主题: SQL
GaussDB支持使用列别名,MySQL不支持。 BENCHMARK() 支持,存在差异 因为MySQL和GaussDB执行层框架存在差异,所以MySQL和GaussDB使该函数评估同一个表达式的执行时间不具有可比性。该函数仅用于评估GaussDB不同表达式的执行效率对比。 执行时间较长时,当在
*)。不合法的查询列名和A_Star节点,GaussDB和MySQL报错信息有差异。 GaussDB创建字段默认值,没有检验字段类型的范围,使用default函数可能报错。 字段的默认值是函数表达式时,GaussDB的default函数返回建表时字段的default表达式的计算值。MySQL的default函数返回NULL。
'\\'等符号一致的编码时,会导致与mysql行为不一致,建议暂时关闭转义符开关进行规避。 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致此类非法字符成功输入。而MySQL会校验报错。 父主题: MySQL兼容性M-Compatibility模式
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
GaussDB下该语法仅支持分区统计信息收集功能。 MySQL下分区名partition_names 大小写不区分,GaussDB下分区名不带反引号的情况下不区分大小写,带反引号时区分大小写。 GaussDB下执行成功回显ALTER TABLE,执行报错由已有错误码报错信息决定,MySQL下执行结果以表格回显形式显示。
MySQL兼容性B模式概述 MySQL兼容性B模式主要介绍GaussDB数据库的MySQL兼容性B模式(即sql_compatibility='B'、且设置参数b_format_version='5.7'、b_format_dev_version='s1'时)与MySQL 5.7数据库的兼容性对比信息。仅介绍503
当入参period或结果小于0时,GaussDB参考MySQL 8.0.x版本的表现,报错处理。MySQL 5.7会发生整数回绕,导致计算结果异常。 PERIOD_DIFF() 支持,存在差异 当入参或结果小于0时,GaussDB参考MySQL 8.0.x版本的表现,报错处理。MySQL 5.7会发生整数回绕,导致计算结果异常。
该函数作为子查询结合CREATE TABLE AS使用时,单独执行该函数的子查询语句没有报错或告警时: GaussDB在严格模式和宽松模式下,CREATE TABLE AS语句执行成功,建表成功。 MySQL在严格模式下,CREATE TABLE AS语句执行可能报错,建表失败。 LEAD() 支持,存在差异
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
的情况与MySQL保持一致,其他情况(如入参为运算表达式、函数表达式等)可能返回值的类型与MySQL有差异。 系统函数在涉及LIMIT与OFFSET同时使用的查表场景下,由于GaussDB和MySQL的执行层机制不同,GaussDB会逐行调用函数,此行为会导致在存在报错的情况下会
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 父主题: SQL
utf8mb4_0900_ai_ci时(例如SELECT _utf8'a' collate utf8mb4_bin),MySQL会发生报错,GaussDB不报错。当字符串字符集为utf8mb4,指定其字符序为utf8_bin/utf8_general_ci/utf8_unicode_ci时,存在同样差异。
返回的是infinity。对于超过范围的值,严格模式下GaussDB会报错,MySQL是否报错取决于使用场景。一般查询场景不报错,而执行DML SQL语句更改表属性的值时报错。宽松模式下GaussDB返回0000-00-00 00:00:00值,MySQL根据使用场景可能报错,也可能返回0000-00-00 00
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。 “^”:GaussDB表示次方幂,MySQL表示按位异或。 TEXT 支持,存在差异 输入格式 GaussDB中该类型的长度不能超过1GB,超过长度限制后会报错。MySQL中该类
功能上与MySQL数据库兼容。 GaussDB的执行计划和优化、EXPLAIN显示结果与MySQL不同。 由于GaussDB数据库与MySQL数据库在底层框架实现上存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 由于GaussDB的底层架构与MySQL存在差异,