UUID 是 128 位标识符,标准写法 550e8400-e29b-41d4-a716-446655440000。
真正需要关心的不是「怎么生成」,而是用哪个版本。
如果表不大(十万行以内)或者不做主键,v4 完全够,别过度设计。
UUID 生成器:v4,批量生成,大写/无横线可选,本地生成不联网。
生成 UUID →# Linux
uuidgen
cat /proc/sys/kernel/random/uuid
# Windows PowerShell
[guid]::NewGuid().ToString()
1..10 | ForEach-Object { [guid]::NewGuid().ToString() } # 批量
# Python 3.12+
python -c "import uuid; print(uuid.uuid7())"
python -c "import uuid; print(uuid.uuid4())"
secrets.token_urlsafe() 这类专门的接口。数据库里存 BINARY(16)(去掉横线再转成 16 字节)比存 36 字符的 VARCHAR 省一半以上空间, 索引也更快。如果一定要可读性,用 VARCHAR(36) 但把字符集固定成 ascii。