MySQL Composite Key2025年3月17日 | 阅读 3 分钟 MySQL 中的复合键 (Composite Key) 是表中两个或两个以上列的组合,它们可以唯一地标识表中的每一行。它是一种由多个列组成的候选键。MySQL 仅当这些列组合在一起时才保证列的唯一性。如果单独考虑,则无法保证唯一性。 任何键,如主键、超键或候选键,当它们与一个以上的属性组合时,都可以称为复合键。当表需要通过多个属性唯一地识别每个记录时,复合键非常有用。复合键中使用的列可以具有不同的数据类型。因此,在 MySQL 中创建复合键不需要列具有相同的数据类型。 可以通过两种方式添加复合键:
我们将在下面详细介绍这两种方法。 使用 CREATE 语句创建复合键在此,我们将理解复合键在 MySQL 中是如何工作的。首先,让我们使用以下语句创建一个名为“Product”的表: 在上面的语句中,我们使用列名 Name 和 Manufacturer 创建了一个复合主键。 我们可以使用以下命令来验证这一点: 成功执行后,我们可以看到 Key 列有两个 PRI。这意味着我们已成功在 Name 和 Manufacturer 列上添加了复合主键。 ![]() 接下来,我们需要将值插入表中,如下所示: 接下来,执行以下命令显示表数据: 这将给出以下输出: ![]() 再次执行以下插入语句以更清楚地理解复合键: 在下面的输出中,我们可以看到,如果我们尝试添加相同的产品名称和制造商组合,它将抛出错误,提示:Duplicate entry for product.primary。 如果我们执行第二个插入语句,它将成功添加到表中。这是因为我们可以向产品列插入任意数量的肥皂,但制造商列必须不同。 ![]() 因此,我们可以说复合键总是强制表中具有两个键的列的唯一性。 使用 ALTER TABLE 语句创建复合键ALTER 语句始终用于对现有表进行修改。有时需要添加复合键来唯一地标识表中具有多个属性的每个记录。在这种情况下,我们使用 ALTER TABLE 语句。 首先,让我们使用以下语句创建一个名为“Student”的表: 现在,执行 ALTER TABLE 语句以添加复合主键,如下所示: 我们可以使用以下命令验证复合主键是否已添加到表中: 在输出中,我们可以看到 Key 列有一个 PRI,这意味着我们已成功将复合主键添加到 stud_id 和 subject 列。 ![]() 下一主题MySQL 触发器 |
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India