数据库表中可否没有主键,只有外键

2 02 3 年,朋友问我数据库设计中外键和主键的重要性。

我说了外键是保证数据一致性的关键,它依赖于主键。

他问,没有主键的表怎么办?
我说过了,没有主键的表就像一个没有身份证的人。
如何确保您的身份是唯一的?
他又问:如果表中只有外键怎么办?
我说,就像一个人只有别人的身份证,没有自己的身份一样。
怎么可能独立存在呢?
他点点头,我补充道,所以在设计的时候,每个表都应该有自己的主键,即使它依赖于其他表。

他好像听懂了,但我补充说,实际设计当然要根据业务的需求,但主要关键是基础。

他似乎意识到了什么,我顺便说一句,我刚刚想到的另一件事是,外键和主键需要正确使用,否则数据就会混乱。

他点点头说:“我明白了,谢谢。

我说,算了,你就会明白的。

MySQL中是否必须要有主键mysql一定要主键吗

我上周查看了 MySQL 文档。

MySQL 不需要主键。

没有主键。
也可以使用表格。

比如一些临时表。
或者日志表。

我不确定这部分。
业务表可能不是必需的。

但是最好有一个主键。

主键唯一标识每一行。

查询速度更快。
数据更加标准化。

2 02 3 许多表都有主键。

创建表时。
你可以这样添加:
sql 创建表用户( id INT NOT NULL AUTO_INCRMENT, 主键(id) );
id 是主键。

您还可以添加:
sql 更改表用户添加主键(id);
这样 ID 就成为主键。
那么。
不需要。

但建议添加。

这取决于你。

数据库表可否没有主键

是的,这就是问题所在。
主键很重要,但不是必需的。

小表简单,不需要主键。
如果不加大表,查询会慢,数据会乱。

主键就像一张身份证,唯一性和效率取决于它。

对于少量数据,不添加也可以,但要注意数据完整性。

一般情况下,除非特殊情况,建议添加主键。