目录
MySQL 表结构迁移到达梦数据库(DMDB)完整指南
一、核心注意要点(迁移前必看)
| 注意点 | 说明 |
|---|---|
| 字符集兼容性 | MySQL 常用 utf8mb4,达梦默认 UTF8,需确认是否支持 4 字节 emoji |
| 大小写敏感性 | 达梦默认大小写敏感,MySQL 取决于操作系统和配置 |
| 标识符引号 | MySQL 用反引号 `,达梦用双引号 " |
| 自增主键实现不同 | MySQL 用 AUTO_INCREMENT,达梦用 IDENTITY |
| 数据类型不完全兼容 | 如 TINYINT(1) 在 MySQL 中常用于布尔,达梦建议用 BIT |
| 默认值限制更严格 | 达梦对 DEFAULT 的表达式支持有限,不支持 NOW() 等函数 |
| 不支持存储引擎语法 | 删除 ENGINE=InnoDB、DEFAULT CHARSET 等 MySQL 特有语法 |
| 注释语法不同 | 达梦不能在 CREATE TABLE 中直接写 COMMENT,需用 COMMENT ON 单独添加 |
二、主要语法差异与修改建议
1. 数据类型映射
| MySQL 类型 | 达梦推荐类型 | 说明 |
|---|---|---|
TINYINT |
TINYINT 或 SMALLINT |
达梦 TINYINT 为 0~255(无符号),MySQL 有符号 -128~127 |
TINYINT(1)(布尔) |
BIT 或 SMALLINT |
建议用 BIT 表示布尔值(0/1) |
DATETIME |
DATETIME |
兼容 |
TIMESTAMP |
TIMESTAMP |
但默认行为不同,建议显式指定 |
VARCHAR(N) |
VARCHAR(N) |
N 为字符数(达梦默认按字符),MySQL 按字节 |
TEXT / MEDIUMTEXT |
CLOB |
达梦用 CLOB 存储大文本 |
BLOB / MEDIUMBLOB |
BLOB |
支持 |
INT AUTO_INCREMENT |
INT IDENTITY(1,1) |
主键自增语法不同 |
FLOAT, DOUBLE |
REAL, DOUBLE PRECISION |
建议使用 DECIMAL 保证精度 |
注意:达梦的
VARCHAR长度单位是 字符数,与 MySQL 的字节单位不同。
2. 自增主键(IDENTITY)
MySQL:
id INT AUTO_INCREMENT PRIMARY KEY
达梦:
id INT IDENTITY(1,1) PRIMARY KEY
IDENTITY(起始值, 步长)- 必须显式指定
PRIMARY KEY

最低0.47元/天 解锁文章
完整指南&spm=1001.2101.3001.5002&articleId=150976761&d=1&t=3&u=ed0bad891e7d49ca89c9e235a9393f99)
1683

被折叠的 条评论
为什么被折叠?



