我正在做一个项目,我必须制作一个几乎类似于维基百科的网站,但是在制作数据库时我偶然发现了一个问题。
我似乎无法弄清楚我的主键应该是什么。我尽量在下面说明我的表结构,这样您就可以看到问题所在。
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/