检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
0版本后新增的兼容性特性,特性的相关规格和约束建议在开发指南中查看。 GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 由于GaussDB数据库与MySQL数据库底层框架实现存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 父主题: MySQL数据库兼容MySQL模式
CONSTRAINT constraint_name 列约束或表约束的名称。可选的约束子句用于声明约束,新行或者更新的行必须满足这些约束才能成功插入或更新。 定义约束有两种方法: 列约束:作为一个列定义的一部分,仅影响该列。 表约束:不和某个列绑在一起,可以作用于多个列。 NOT NULL
[constraint_name] 列约束或表约束的名称。可选的约束子句用于声明约束,新行或者更新的行必须满足这些约束才能成功插入或更新。 定义约束有两种方法: 列约束:作为一个列定义的一部分,仅影响该列。 表约束:不和某个列绑在一起,可以作用于多个列。 表约束在MYSQL模式数据库下(即sql_compatibility
如果建表时没有指定分布列,数据会怎么存储? 答:建表时没有指定分布列,数据会以如下三种场景存储: 若建表时包含主键/唯一约束,则选取HASH分布,分布列为主键/唯一约束对应的列。 gaussdb=# CREATE TABLE tb_test1 ( W_WAREHOUSE_SK
p:主键约束。 u:唯一约束。 t:触发器约束。 x:互斥约束。 f:外键约束。 s:聚簇约束。 i:无效约束。 condeferrable boolean 这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 condeferred boolean 缺省时这个约束是否可以推迟。
p:主键约束。 u:唯一约束。 t:触发器约束。 x:互斥约束。 f:外键约束。 s:聚簇约束。 i:无效约束。 condeferrable boolean 这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 condeferred boolean 缺省时这个约束是否可以推迟。
LIKE 在MySQL 8.0.16 之前的版本中,CHECK约束会被语法解析但功能会被忽略,表现为不复制CHECK约束,GaussDB支持复制CHECK约束。 对于set数据类型,在建表时,MySQL支持复制,GaussDB不支持复制。 对于主键约束名称,在建表时,MySQL所有主键约束名称固定为PRIMARY
驱动 JDBC 父主题: MySQL数据库兼容MySQL模式
本功能上与MySQL数据库兼容。 GaussDB的执行计划和优化、explain显示结果与MySQL不同。 由于GaussDB数据库与MySQL数据库底层框架实现存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 由于GaussDB的底层架构与MySQL存在差异,对
NULL和DEFAULT约束外,其他约束都可以显式命名。 唯一约束 从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为 “PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为 “CK+字段名”。
CREATE TABLE ... LIKE 在MySQL 8.0.16 之前的版本中,CHECK约束会被语法解析但功能会被忽略,表现为不复制CHECK约束,GaussDB支持复制CHECK约束。 对于主键约束名称,在建表时,MySQL所有主键约束名称固定为PRIMARY KEY,GaussDB不支持复制。
聚合函数 表1 聚合函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 GROUP_CONCAT() 支持 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
【建议】给可以显式命名的约束显式命名。除了NOT NULL和DEFAULT约束外,其他约束都可以显式命名。 唯一约束 【关注】行存表支持唯一约束。 【建议】从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 【关注】行存表支持主键约束。 【建议】从命名上明确标识主键约束,例如,将主键约束命名为
VIRTUAL] MySQL数据库中虚拟生成列支持创建索引,GaussDB数据库中不支持。 MySQL数据库中虚拟生成列支持作为分区键,GaussDB数据库中不支持。 GaussDB数据库中生成列的CHECK约束兼容MySQL8.0数据库的行为,即CHECK约束检查生效。 MySQL数据库中存储生成列作为分区键时,支持ALTER
NULL和DEFAULT约束外,其他约束都可以显式命名。 唯一约束 从命名上明确标识唯一约束,例如,命名为“UNI+字段名”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为“PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为“CK+字段名”。
出结果,MySQL直接输出结果。 String getString(String columnLabel) 按列名获取String型数据。 字段类型为整型且带有ZEROFILL属性时,GaussDB按照ZEROFILL属性要求的宽度信息用0进行补位后输出结果,MySQL直接输出结果。
强制转换函数 表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 2 CONVERT() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
MY_CONS_COLUMNS视图存储当前用户下表中主键约束列的信息。该视图同时存在于PG_CATALOG和SYS schema下。 表1 MY_CONS_COLUMNS字段 名称 类型 描述 owner character varying(64) 约束创建者。 table_name character
MY_CONS_COLUMNS视图显示当前用户下表中主键约束列的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_CONS_COLUMNS字段 名称 类型 描述 owner character varying(64) 约束创建者。 table_name character
CONSTRAINT操作中表示要删除的现有约束的名称。 在ADD CONSTRAINT操作中表示新增的约束名称。 对于新增约束,在MYSQL模式数据库下(即sql_compatibility = 'MYSQL')constraint_name为可选项,在其他模式数据库下,必须加上constraint_name。