次の属性(列){ PKA、a1、a2 ...}を持つ親テーブルAと、次の属性を持つ子テーブルBがあります{FKA、b1、b2 ...} PKAはテーブルの主キー(自動インクリメント)ですA とテーブル B には主キーはありませんが、テーブル A の PKA 列を参照する外部キー列 FKA があります (1:n の関係)
エントリの追加: テーブル A にエントリを追加するとき ...PDO API の lastInsertId() を使用して挿入されたレコードを取得し、この値を使用してテーブル B に FKA を入力します。
問題: 1. エントリを削除しているときに、同様の方法で使用できる API 'lastDeleteId()' が見つかりませんでした。
さらに大きな問題: テーブル A で削除が発生した場合、設計上、削除コマンドは次のようになります。 DELETE from table A where a1 = . この a1 列は一意ではないため、DELETE コマンドはテーブル B からフラッシュする必要がある複数の PKA キーを返す可能性があります
注意事項:
- PDO API を使用しています
- MySQL テーブル (ここで検討中) は InnoDB です
- トランザクション モードで実行しています (beginTransaction() と commit()/rollback() の間の複数の SQL 呼び出し)
- CASCADE ON DELETE オプションを探していない
ご指摘ありがとうございます。