如何使用Unique Composite Key

SMU*_*hah 6 database database-design

我有一张桌子

Item(ItemName*, ItemSize*, Price, Notes)
Run Code Online (Sandbox Code Playgroud)

我正在制作(ItemName,ItemSize)的复合键来唯一标识项目.现在,在阅读了stackoverflow上的一些答案后,建议使用UNIQUE我将其修改为

Item(ItemID*, ItemName, ItemSize, Price, Notes)
Run Code Online (Sandbox Code Playgroud)

但是如何在ItemName和ItemSize上应用UNIQUE约束

如果有问题,请更正

Dar*_*rov 11

ALTER TABLE Items ADD UNIQUE INDEX(ItemName, ItemSize);
Run Code Online (Sandbox Code Playgroud)

这里的一篇文章解释了如何使用SQL Server Management Studio来实现相同的.

  • 原则上,约束是数据库逻辑级别的一部分,而索引是数据库的物理实现.密钥恰当是逻辑特征而不是物理特征.约束是标准SQL的一部分,而索引则不是.数据库的大多数用户都希望将密钥实现为约束而不仅仅是索引,如果使用索引语法,他们可能会错过密钥存在的事实.此外,许多开发和数据库管理工具可能将约束识别为键而不是索引.此外,约束在info-schema中.索引不是. (2认同)