更新时间:2024-12-06 GMT+08:00

字符串数据类型

表1 字符串数据类型

MySQL数据库

GaussDB数据库

差异

CHAR(M)

支持,存在差异

  • 输入格式:输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。

VARCHAR(M)

支持,存在差异

  • 输入格式:
    • GaussDB的自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,MySQL支持。
    • GaussDB的自定义函数和存储过程中的临时变量支持长度校验以及严格宽松模式下的报错和截断告警,MySQL不支持。
    • 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。

TINYTEXT

支持,存在差异

  • 输入格式:
    • 默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。
    • 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
  • 主键:MySQL中TINYTEXT类型不支持主键,GaussDB支持。
  • 索引:MySQL中TINYTEXT类型不支持除前缀索引外其他索引方法,GaussDB支持。
  • 外键:MySQL中TINYTEXT类型不支持作为外键的参考列/被参考列,GaussDB支持。

TEXT

支持,存在差异

  • 输入格式:
    • 默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。
    • 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
  • 主键:MySQL中TEXT类型不支持主键,GaussDB支持。
  • 索引:MySQL中TEXT类型不支持除前缀索引外其他索引方法,GaussDB支持。
  • 外键:MySQL中TINYTEXT类型不支持作为外键的参考列/被参考列,GaussDB支持。

MEDIUMTEXT

支持,存在差异

  • 输入格式:
    • 默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。
    • 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
  • 主键:MySQL中MEDIUMTEXT类型不支持主键,GaussDB支持。
  • 索引:MySQL中MEDIUMTEXT类型不支持除前缀索引外其他索引方法,GaussDB支持。
  • 外键:MySQL中TINYTEXT类型不支持作为外键的参考列/被参考列,GaussDB支持。

LONGTEXT

支持,存在差异

  • 输入格式:
    • GaussDB只支持不超过1G字节长度,MySQL支持4G-1字节长度。
    • 默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。
    • 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
  • 主键:MySQL中LONGTEXT类型不支持主键,GaussDB支持。
  • 索引:MySQL中LONGTEXT类型不支持除前缀索引外其他索引方法,GaussDB支持。
  • 外键:MySQL中TINYTEXT类型不支持作为外键的参考列/被参考列,GaussDB支持。