是的,MySQL 中的主键(Primary Key)可以使用 VARCHAR 类型。虽然 INT 类型(特别是自增 INT)是最常见的主键选择,但 VARCHAR 作为主键在某些场景下也是完全可行的。
-- 创建使用VARCHAR主键的表
CREATE TABLE users (
username VARCHAR(50) PRIMARY KEY,
password VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE
);
-- 或者使用UUID作为主键
CREATE TABLE documents (
doc_id VARCHAR(36) PRIMARY KEY DEFAULT (UUID()),
title VARCHAR(200) NOT NULL,
content TEXT
);
总结来说,VARCHAR 作为主键在 MySQL 中是完全可行的,但需要根据具体业务场景权衡其优缺点。对于高并发写入或需要极致性能的场景,自增 INT 可能仍是更好的选择。