sql >> Base de Datos >  >> RDS >> Mysql

Determinar si existe una combinación de registros de muchos a muchos

realmente ¿Tienes claves foráneas? Debería haber una manera de declarar esta combinación de table1.key-->table2.key única. Lo que daría como resultado un error de SQL regular, al producir un par de entradas ya existentes. Esto es lo que me gusta de las llaves extranjeras. Es muy limpio, porque la información sobre las entradas (no) permitidas permanece en el nivel de la base de datos.

Tienes una tabla A_B que contiene tareas, ¿no? A.id 88 pertenece a B.id 99... etc.?

¿Y planea insertar UN registro A combinado con n registros B? ¿Por qué no? Si los nuevos valores son A=99 y 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);

Esto dará como resultado una lista de b_ids que no debe volver a insertar... O un resultado vacío (todas las entradas son nuevas).