检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 主键:MySQL中TINYBLOB类型不支持主键,GaussDB支持。 索引:MySQL中TINYBLOB类型
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
启用定时任务。级别:全局、数据库。 EXECUTE 使用户能够执行存储过程。级别:全局、数据库、存储过程。 FILE 使用户能够使服务器读取或写入文件。级别:全局。 GRANT OPTION 允许向其他账户授予权限或从其他账户删除权限。级别:全局、数据库、表、存储过程、代理。 INDEX 允许创建或删除索引。级别:全局、数据库、表。
GaussDB的自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,MySQL支持。 GaussDB的自定义函数和存储过程中的临时变量支持长度校验以及严格宽松模式下的报错和截断告警,MySQL不支持。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
不同。 数组 ecpg不直接支持多维SQL级别数组。一维SQL数组可以被映射到C语言数组类型的宿主变量,反之亦然。但是在创建语句时,如果ecpg并不知道列的类型,则将无法检查C语言数组是否是SQL数组的输入。因此在处理SQL语句的输出时,ecpg需要检查两者是否都是数组。 示例如下:
TABLE hash分区和二级分区的存储与MySQL不同 CREATE TABLE GaussDB的CREATE TABLE语句中hash分区表和二级分区表所使用的hash函数与MySQL不一致,因此hash分区表和二级分区表的存储与MySQL有区别。 分区表索引 CREATE INDEX
日期与时间数据类型 表1 日期与时间数据类型 MySQL数据库 GaussDB数据库 差异 DATE 支持,存在差异 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂不支持,因
GaussDB的自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,MySQL支持。 GaussDB的自定义函数和存储过程中的临时变量支持长度校验以及严格宽松模式下的报错和截断告警,MySQL不支持。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci 支持 utf8mb4_unicode_ci
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
t[], text[]) 描述:从一个文本数组构造一个object-json。这是个重载函数,当入参为一个文本数组的时候,其数组长度必须为偶数,成员被当做交替出现的键值对。两个文本数组的时候,第一个数组认为是键,第二个认为是值,两个数组长度必须相等。键不可为null。 返回类型:object-json
概述 MySQL兼容性MySQL模式概述 MySQL兼容性M-Compatibility模式概述
流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 信息函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性B模式
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式
column和database.table.column;GaussDB只支持使用column,不支持使用table.column和database.table.column,二者存在差异。 UPDATE SET执行顺序与MySQL存在差异 UPDATE ... SET MySQL中,UPDATE
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
column和database.table.column;GaussDB只支持使用column,不支持使用table.column和database.table.column。 UPDATE SET执行顺序与MySQL存在差异 UPDATE ... SET MySQL中,UPDATE