mysql - 选择主键

标签 mysql database primary-key entity-attribute-value

我正在做一个项目,我必须制作一个几乎类似于维基百科的网站,但是在制作数据库时我偶然发现了一个问题。

我似乎无法弄清楚我的主键应该是什么。我尽量在下面说明我的表结构,这样您就可以看到问题所在。

name            | type        | content   |
--------------------------------------
John Doe        | overview    | some text |
----------------------------------------
John Doe        | background  | some text |
----------------------------------------
John Doe        | height      | some text |
----------------------------------------
Fred Flintstone | overview    | some text |
---------------------------------------
Fred Flintstone | background  | some text |

我认为只创建一个 id 列并自动递增它是没有意义的,因为每条记录单独使用是没有用的。

你怎么看?需要主键吗?如果是这样,它应该是什么?

最佳答案

我当然会选择自动递增 primary ID。这就是它的用途,它可以更轻松地维护和更新表,也可以更轻松地链接到关系设置中的其他表。

还有查询记录时的性能问题。

总结:

  • Maintaining relations between tables
  • Performance when looking up records.
  • Easier to write update and delete queries when changing the content

参见:http://code.openark.org/blog/mysql/reasons-to-use-auto_increment-columns-on-innodb

关于mysql - 选择主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8617121/

相关文章:

java - BSAF 停止打开数据库连接

sql - SQL Server 如何判断输入日期的格式?

MySQL:更改主键的 ID

database - 为什么主键必须是最小的?

mysql - 使用 Mapping 连接两个表并获得结果

php - 返回与一个给定值相对应的多个值

mysql - phpMyAdmin 安装程序无法识别自己的密码

mysql - 使用 id 对数据进行分组并从第一行和最后一行获取数据

database - 获取 VistaDB 中列的 'Identity' 设置

oracle - 相同的 Oracle 数据库设置 : exception on just one of them