Der*_*air 0 mysql sql database database-design constraints
我在MySQL数据库中有一个名为product_attributes的表.它由产品SKU(外键),属性标签和属性值组成.我需要确保SKU和属性标签的组合是唯一的.
插入这将是 合法的
{001, 'weight', '100 lbs'}
{001, 'color', 'blue'}
{002, 'weight', '200 lbs'}
Run Code Online (Sandbox Code Playgroud)
这将是 非法的
{001, 'weight', '100 lbs'}
{001, 'weight', '200lbs' }
Run Code Online (Sandbox Code Playgroud)
- 如何强制执行此约束?
- 我必须用我的服务器端语言执行此操作,还是可以配置我的数据库来强制执行此操作?
- 这种类型的约束叫什么?
没有测试过这个,但用于添加唯一键的DDL(数据定义语言)是
ALTER TABLE foo
ADD CONSTRAINT UniqueSkuAttribKey UNIQUE (SKU, Attribute)
Run Code Online (Sandbox Code Playgroud)
主键是
ALTER TABLE foo
ADD CONSTRAINT PrimaryFooKey Primary (SKU, Attribute)
Run Code Online (Sandbox Code Playgroud)