我有一个SQL表,其中有两列State
和SongInState
。
现在,我在这里有一个场景,其中State
和SongInState
列可以具有任何非唯一值,但是任何State
不能具有相同的SongInState
值。
表结构
ID State SongInState
1 AR Dream on
2 MN Dream on
3 TX Hard sun
4 AR I got a name
看到我可以具有相同的状态和songInState但不能为相同的状态重复SongInState
这不应该发生。
ID State SongInState
1 AR Dream on
2 AR Dream on
AR不能拥有相同的歌曲,但是另一状态可以拥有它。
我可以那样做吗?我正在使用mySql和JAVA(仅供参考)。
任何帮助,将不胜感激。
最佳答案
在State和SongInState上创建一个多社区唯一索引
放在表中创建查询
UNIQUE KEY `UniqueStateSong` (`State` , `SongInState`)
或是否已经创建
ALTER TABLE `mytable` ADD UNIQUE `UniqueStateSong` ( `State` , `SongInState` )