备份数据库中 UUID(Universally Unique Identifier) 和备份普通字段本质上没有区别,关键在于你用的是什么数据库、是否需要保证 唯一性、一致性、可读性。下面按常见场景系统说明。
UUID 本质是一个 字符串或二进制值,常见存储方式:
| 存储方式 | 示例 |
|---|---|
| VARCHAR(36) | 550e8400-e29b-41d4-a716-446655440000 |
| CHAR(36) | 同上,定长 |
| BINARY(16) | 16 字节原始数据 |
| UUID 类型(PostgreSQL) | uuid |
✅ UUID 本身不依赖数据库生成规则,备份时只当作普通字段处理即可。
mysqldump(MySQL / MariaDB)mysqldump -u user -p db_name > backup.sql
BINARY(16)注意:
SELECT HEX(uuid_column) FROM table;
但 mysqldump 通常已正确处理,无需额外操作。
pg_dump -U user -d db_name > backup.sql
uuid 类型导出为文本格式INSERT INTO users VALUES ('550e8400-e29b-41d4-a716-446655440000');
SELECT id, uuid, name
INTO OUTFILE '/tmp/data.csv'
FIELDS TERMINATED BY ','
FROM users;
COPY users TO '/tmp/data.csv' CSV HEADER;
✅ UUID 会完整保留
❌ 错误:
INSERT INTO t VALUES (NEWID())
✅ 正确备份应包含原 UUID:
INSERT INTO t VALUES ('uuid-value')
mysqldump --single-transaction -u user -p db > backup.sql
避免:
推荐使用 小写 + 无多余空格
SELECT COUNT(DISTINCT uuid) FROM table;
可以告诉我:
varchar 还是 binary我可以给你 定制化的备份与恢复方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。