sql >> Databasteknik >  >> RDS >> Mysql

Bestäm om kombinationen många-till-många-poster finns

Gör du verkligen har främmande nycklar? Det borde finnas ett sätt att deklarera den här kombinationen av tabell1.nyckel-->tabell2.nyckel unik. Vilket skulle resultera i ett vanligt SQL-fel när ett redan existerande par av poster skapas. Det här är vad jag gillar med utländska nycklar. Det är väldigt rent, eftersom intelligensen på (ej) tillåtna poster förblir på databasnivå.

Du har en tabell A_B som innehåller tilldelningar, eller hur?A.id 88 tillhör B.id 99 ... etc.?

Och du planerar att infoga ETT A-Record kombinerat med n B-Records? Varför inte - om nya värden är A=99 och B:10, 11, 12, 17, 18, 20

SELECT b_id
FROM A_B
WHERE a_id = 99
AND b_id IN (10, 11, 12, 17, 18, 20);

Detta kommer att resultera i en lista med b_ids som du inte får infoga igen ... ELLER ett tomt resultat (alla poster är nya).



  1. ADDM på SearchOracle.com

  2. Begränsa dataflexibilitet i en NoSQL-databas

  3. Verkliga exempel, när man ska använda OUTER / CROSS APPLY i SQL

  4. Beräkna saldo med mysql