sql >> Databáze >  >> RDS >> Mysql

Zjistěte, zda existuje kombinace záznamů mnoho k mnoha

Opravdu máte cizí klíče? Měl by existovat způsob, jak deklarovat tuto kombinaci table1.key-->table2.key unique.Což by vedlo k běžné chybě SQL při vytváření již existujícího páru záznamů. To se mi na cizích klíčích líbí. Je to velmi čisté, protože inteligence o (ne)povolených položkách zůstává na úrovni databáze.

Máte tabulku A_B obsahující úkoly, že? A.id 88 patří do B.id 99 ... atd.?

A plánujete vložit JEDEN záznam A v kombinaci s n záznamy B? Proč ne – pokud jsou nové hodnoty A=99 a 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);

Výsledkem bude seznam b_id, který nesmíte znovu vkládat ... NEBO prázdný výsledek (všechny položky jsou nové).



  1. Normalizujte data transakcí ze sloupců času a stavu na minuty podle hodnoty stavu

  2. Najít závislosti na serveru SQL Server:sql_expression_dependencies

  3. Jak vyřešit chybu volání nedefinované funkce dbase_open() ve Windows

  4. Podporuje MySQL dědičnost tabulek?