sql >> データベース >  >> RDS >> Mysql

多対多のレコードの組み合わせが存在するかどうかを判断します

    本当に 外部キーをお持ちですか? table1.key-> table2.keyのこの組み合わせを一意であると宣言する方法が必要です。これにより、既存のエントリのペアを生成するときに、通常のSQLエラーが発生します。これは私が外国の鍵について好きなことです。 (許可されていない)エントリに関するインテリジェンスはデータベースレベルにとどまるため、非常にクリーンです。

    割り当てを含むテーブルA_Bがありますか?A.id88はB.id99に属しています...など?

    そして、n個のBレコードと組み合わせて1つのAレコードを挿入することを計画していますか?新しい値がA =99および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);
    

    これにより、再度挿入してはならないb_idのリストが作成されます...または空の結果(すべてのエントリが新規)になります。



    1. PowerShellでSQLPlusスクリプトを実行する方法

    2. PHPで500エラーが発生し続けるのはなぜですか?

    3. 純粋なSQLでnullセーフ比較<=>を作成するにはどうすればよいですか?

    4. SQL Server(T-SQL)でのREPLICATE()関数のしくみ