Ben je echt buitenlandse sleutels hebben? Er zou een manier moeten zijn om deze combinatie van table1.key-->table2.key uniek te declareren. Dit zou resulteren in een normale SQL-fout bij het produceren van een reeds bestaand paar items. Dit is wat ik leuk vind aan buitenlandse sleutels. Het is erg schoon, omdat de informatie over (niet) toegestane items op databaseniveau blijft.
Je hebt een tabel A_B met opdrachten, nietwaar? A.id 88 hoort bij B.id 99 ... enz.?
En u bent van plan ÉÉN A-record in te voegen in combinatie met n B-records? Waarom niet - als de nieuwe waarden A=99 en B zijn: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);
Dit zal resulteren in een lijst met b_ids die u niet opnieuw mag invoegen ... OF een leeg resultaat (alle items zijn nieuw).