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

多対多の関係にある関連行の削除

    あなたの要求は意味がありません

    エンティティとしてのドライバーは、Carsとは別に存在します。車は多くのドライバーが運転でき、ドライバーは多くの車を運転できます。これが、多数のテーブルがある理由です。

    「ドライバーは多くの車を運転できる」ビットに注意してください。つまり、Drivers行を削除する場合は、CarDriversの他の行を削​​除する必要があります。

    まだ これを実行するには、CarDriversでトリガーが必要です。 DriversからCarDriversへのCASCADEは、他のCarDrivers行を削除します。トリガー再帰のデフォルトの動作も思い出せません。

    なんてめちゃくちゃだ。

    注:これはほぼ 多くのテーブルの列の1つに一意性がある場合は、CarsとDriversの間の外部キーである必要があります(Unique on Carは、「車ごとに最大1人のドライバー」はCarsのNULL可能FK列を意味します)



    1. Mysqlの4バイト漢字サポート

    2. 重複するレコードを選択し、mysqlで区切られたコンマからレコードをカウントします

    3. 関数とストアドプロシージャ

    4. Python:PostgreSQLクエリ結果をフォーマットされたJSON値として取得する