使用限制

MatrixOne 兼容 MySQL 的常用子集,并不是全量 MySQL 8.0。下列为产品文档中需要先知道的边界,避免把「源站 MySQL 手册能写的语法」直接搬到生产。

限制会随版本放宽;以当前实例报错信息与发布说明为准。

LOAD DATA

MySQL 完整 LOAD DATA 语法中,MatrixOne 常见不支持或仅部分支持的点:

说明

LOCAL

不支持从客户端本地传文件到服务端的 LOCAL 路径

REPLACE

装载时的 REPLACE 语义通常不可用

PARTITION

指定分区装载一般不支持

CHARACTER SET

实质上按 UTF-8 处理

字段/行分隔的任意定制

分隔符可用,但部分转义、ENCLOSED BY 可变、LINES STARTING BY 等受 CSV 实现约束

SET col = expr

装载时列表达式变换通常不支持

用户变量列

@user_var 占位过滤等行为有限

较稳妥的用法模式

LOAD DATA INFILE 'path/to/file'
[IGNORE]
INTO TABLE tbl
FIELDS TERMINATED BY ','
[IGNORE n LINES]
[(col_list)];

CSV 习惯约定(摘要):

  • 字段分隔:常用 ,,也可用其它非特殊分隔符(如 |)。

  • 字段引用:"

  • 行结束:\n\r\n

  • \N 表示 NULL。

  • # 开头的行常被当作注释跳过。

  • IGNORE:转换失败时尽量继续并累计 warning,而不是整批失败(行为以引擎为准)。

大文件更推荐 Stage + 服务端路径装载,而不是依赖客户端 LOCAL

分区(Partition)

  • 文档与元数据中可能出现 KEY / HASH 等分区类型枚举。

  • RANGE / LIST 等类型通常仍不可用mo_table_partitions 中相关描述列可能为空。

  • 不要按 MySQL 全部分区策略做容量规划,先在目标实例上验证 CREATE TABLE ... PARTITION BY

JDBC / 驱动能力

官方 JDBC 等驱动对 MatrixOne 是功能支持列表模型:常用 CRUD、预处理、批量在支持范围内;部分 MySQL Connector 专有或冷门 API 可能未实现。接入时以开发与驱动发行说明为准,不要假设与 MySQL Connector/J 行为 100% 相同。

其它常见差异(摘要)

领域

说明

保留关键字

与 MySQL 略有出入;限定名下保留字仍建议反引号,见结构与语法

系统表

information_schema / mysql 为子集

向量列

不可作主键/唯一键;维度与元素类型有约束,见数据类型

存储过程 / 触发器 / 事件调度

不要默认可用;以实例实际语法支持为准

字符集

产品路径上以 utf8mb4 为主

相关页面