【问题标题】:what is difference between primary and unique key?主键和唯一键有什么区别?
【发布时间】:2019-05-22 14:21:28
【问题描述】:

主键和唯一键(在 MySQL 中)有什么区别?这些如何被视为外键?请解释。 我尝试创建一个数据库表,但不知道如何将主键设为外键。分离属性自动创建外键是否采用Join概念?

【问题讨论】:

  • 请在每个帖子中提出一个问题。 (显然——)这些是常见问题。在考虑发布之前,请始终在谷歌上搜索任何错误消息以及您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括您的特定字符串/名称;阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。 PS这个不清楚。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。
  • 请在代码问题中给出minimal reproducible example--剪切&粘贴&运行代码;具有期望和实际输出的示例输入(包括逐字错误消息);明确的规范和解释。这包括您可以提供的最少代码,即您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)

标签: database foreign-keys primary-key rdbms unique-key


【解决方案1】:

MySQL 中的表最多只能有一个主键,而您可以根据需要创建任意数量的唯一键或索引。

此外,主键不能为空,而唯一键的值可以为 NULL。

但最大的不同是目的:

你想要一个主键,因为你需要一个标识符

另一方面,唯一键/索引对于控制自动插入表中的值很有用(例如,避免在不允许的情况下重复)

如果你想使用一个列作为伪造键,你需要先将它定义为主键。 Unique Constraint不能作为外键与其他表关联。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2012-03-22
    • 2011-09-16
    • 2013-12-22
    • 2011-04-06
    • 2012-09-30
    • 1970-01-01
    相关资源
    最近更新 更多