生成数据库 UUID 主键的方法取决于你使用的数据库类型和应用层语言。下面按常见场景给你一个清晰的总结。
UUID(Universally Unique Identifier)通常是 36 字符字符串(如 550e8400-e29b-41d4-a716-446655440000),适合分布式系统,避免 ID 冲突。
CREATE TABLE user (
id CHAR(36) PRIMARY KEY DEFAULT (UUID()),
name VARCHAR(50)
);
插入时无需指定 id:
INSERT INTO user(name) VALUES ('Tom');
MySQL 5.7 及以下可用
UUID(),但不支持 DEFAULT。
CREATE TABLE user (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(50)
);
插入:
INSERT INTO user(name) VALUES ('Tom');
gen_random_uuid()需要 PostgreSQL 13+,低版本可安装uuid-ossp扩展。
CREATE TABLE user (
id UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
name NVARCHAR(50)
);
CREATE TABLE user_tbl (
id RAW(16) PRIMARY KEY DEFAULT SYS_GUID(),
name VARCHAR2(50)
);
import java.util.UUID;
String id = UUID.randomUUID().toString();
import uuid
id = str(uuid.uuid4())
const { v4: uuidv4 } = require('uuid');
const id = uuidv4();
然后在插入时作为主键传入。
✅ 优点:
❌ 缺点:
BINARY(16) / RAW(16) 比字符串更高效如果你告诉我具体数据库 + 开发语言,我可以给你更精确的示例代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。