这是一个模糊的问题,而是取决于您将如何使用数据。实际上,尽管您肯定有 1 个表,即用户表。
因为并非所有用户都需要“cool_user_code”,所以最好将其作为一个单独的表,该表具有主键“user_id”,它与 Users 表存在 1:1 的关系。
但这当然取决于其他因素。您可以改为在用户表中添加一个额外的“additional_user_code”列,以便稍后根据需要与其他类型一起使用。那么问题来了,如果将用户更改为不再“酷”,cool_user_code 会发生什么。
简而言之,您的问题太模糊,无法得到具体答案。
我将如何执行此操作的示例表
CREATE TABLE users(
userID INT UNSIGNED NOT NULL AUTO_INCREMENT,
userLogin VARCHAR(255) NOT NULL,
userType ENUM('normal_user','cool_user'),
PRIMARY(userID)
);
CREATE TABLE userAdditionalData(
userID INT UNSIGNED NOT NULL,
userAdditionalData TEXT NOT NULL,
PRIMARY(userID)
)
... 或者 ...
CREATE TABLE users(
userID INT UNSIGNED NOT NULL AUTO_INCREMENT,
userLogin VARCHAR(255) NOT NULL,
userType ENUM('normal_user','cool_user'),
userAdditionalData TEXT DEFAULT NULL,
PRIMARY(userID)
);
(酌情用“TEXT”代替“VARCHAR”、“BLOB”或“INT”等)