【发布时间】:2012-11-25 13:10:37
【问题描述】:
假设我需要一个包含帐户 ID 且没有其他信息的简单表。有两种方法可以做到:
id varchar(255) PRIMARY KEY
或添加数字主键:
id int PRIMARY KEY
accountId varchar(255) UNIQUE NOT NULL
这两种方法的优点/缺点是什么?你会选择哪一种?为什么?
第一个解决方案对可维护性(如果我们需要更改单行的 id 怎么办)和性能有什么影响?
【问题讨论】:
-
在第一种情况下,Id 不可为空。在第二种情况下 accountId is 可以为空。也许不是你想要的?指定 NOT NULL 以使其清楚。
-
@sqlvogel 我确实指定了 NOT NULL 以使其清楚。
-
嗯,您的意思是您将其添加到问题中,从而使我的回答实际上毫无用处。
标签: mysql database database-design schema