sql - 一个表可以有两个不同的列设置为主键吗?鉴于两列都具有唯一值而不是空值
问题描述
如果两列都有自己的唯一值,是否可以声明这两列都是主键?PS不是在谈论将两列的组合声明为复合键。
解决方案
表中的主键具有三个属性:
- 关键是
NOT NULL
(所有组件)。 - 钥匙是独一无二的。
- 每桌只有一个。
这是关系数据库中主键的定义。第三个条件清楚地表明,您不能将其中两个放在同一张表中。
另一方面,您可以有一个主键和另一个定义为UNIQUE
and的键NOT NULL
。您可以根据需要多次执行此操作。
推荐阅读
- pandas - 读取文本文档中的相对行并转换为 Pandas DF
- java - Java反应器返回不同的异常
- java - 使用相同用户帐户的两个应用程序
- mysql - ZonedDateTime 到 MySQL 日期时间
- typescript - 无法使用节点内置/TS 重新声明块范围变量
- c# - 使实体框架(使用 Linq 查询)使用自定义字段的别名而不是重做子查询
- mysql - LOAD DATA LOCAL INFILE - 无效的 utf8mb4 字符串
- java - Java井字游戏获胜条件
- ios - 无法在 Xcode 8.2.1 中分配“AASquaresLoading”类型的值
- javascript - 使用多行时 Json 解析的问题