たとえば、次のデータベース テーブル レイアウトを作成するとします。
CREATE TABLE IF NOT EXISTS Users_parent (
ID int(255) NOT NULL AUTO_INCREMENT,
Username text NOT NULL,
Password text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_Child (
ID int(255) NOT NULL AUTO_INCREMENT,
Firstname varchar(255) NOT NULL,
SecondName varchar(255) NOT NULL,
UserID int(255) NOT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_OtherChild (
ID int(255) NOT NULL AUTO_INCREMENT,
Warnings text NOT NULL,
UserID text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
読み取りからUserID
、同じスキーマ内の他のすべての関連テーブルとの1対多の関係を確立するための外部キーになります。
これが MySQL データベース内のストアド プロシージャ内で実行されることは理解していますが、すべての子テーブルが削除されるまで親テーブルの行の削除を禁止して、親に関連付けられた子情報がなくなるようにするにはどうすればよいでしょうか?