2016-08-07 34 views
1

Ich habe diese beiden TabellenGrenze eindeutige Werte in MySQL pro Schlüssel

Erste Tabelle:

Name: Mines 
First column: ID of mine (primary) 
Second column: Name of mine (VARCHAR 50) 

Zweite Tabelle:

Name: OresInMine 
First column: ID of entry (primary) 
Second column: ID of mine 
Third column: Ore name (VARCHAR 30) 

ich doppelte Einträge in dritte Spalte der Tabelle zu vermeiden, müssen 2 für jede Mine ID separat.

Beispiel dessen, was ich vermeiden wollen folgt:

Table Mines 
1 - Dark Mine 
2 - Abandoned Mine 

Table OresInMine 
1 - 1 - Iron 
2 - 1 - Coal 
3 - 2 - Iron 
4 - 2 - Copper 
5 - 2 - Coal 
**6 - 1 - Coal** (There is already Coal in mine with ID 1) 

ich von MySQL wollen Einsätze zu blockieren, die das Duplikat für jede Mine führen könnten.

+0

Stellen 'Zweite Säule: ID von mine' UNIQUE – RiggsFolly

+1

eher ein' UNIQUE' Index am 2. haben + 3. Spalte. – cFreed

Antwort

2

Sie müssen eine Einwilligung der Spalte 2 und 3 (ID von mir und Erz Name) ein UNIQUE KEY in Ihrer zweiten Tabelle OresInMine, so können Sie eine 1-Eisen und eine 1-Kohle haben und auch vermeiden Duplikationsproblem.

Mit freundlichen Grüßen, Juan A. Rubio