Dav*_*ith 7 mysql sql database-design
我遇到过一种情况,我希望确保表的复合元素是唯一的.例如:
Table (
id char(36) primary key,
fieldA varChar(12) not null,
fieldB varChar(36) not null
)
Run Code Online (Sandbox Code Playgroud)
我不希望fieldA和fieldB成为复合主键,因为它们经常更改,并且'id'在整个系统中用作引用.
fieldA和fieldB本身并不是唯一的,但它们的组合必须是唯一的.例如,{{1,Matt,Jones},{2,David,Jones},{3,Matt,Smith}}将是有效数据,但{{1,Matt,Jones},{2,Matt,Jones }} 不会是.
Sid*_*ddy 11
您可以在两个字段上添加UNIQUE键约束:
ALTER TABLE `table_name` ADD UNIQUE (
`fieldA`,
`fieldB`
);
Run Code Online (Sandbox Code Playgroud)
在表定义中添加UNIQUE键:
Table (
id char(36) primary key,
fieldA varChar(12) not null,
fieldB varChar(36) not null,
UNIQUE fieldA_fieldB (fieldA, fieldB)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |