0
初期状態UPDATE Iは外部キー関係の制約 - 、更新にカスケード外来IDの他の値
得たものparents
id parent_validity
1 0 (updated as 0)
2 1
children
id parent_id child_validity
1 1 0 (This val is expected as 0)
2 1 0 (This val is expected as 0)
3 2 1 (This val is expected as no change)
AFTER
parents
id parent_validity
1 1
2 1
children
id parent_id child_validity
1 1 1
2 1 1
3 2 1
必要な状態
children id parent_id child_validity 1 1 0 2 1 0 3 2 0 (all values under this column became 0)
テーブルparents
のparent_validity
を更新すると、テーブルchildren
のchild_validity
が更新される必要があります。 から関連があります。はid
の外部キー関係です。
私の結果は次のとおりです。parents
の有効な変更がのテーブルchildren
に変更されました。
私はPHPで必要なことをしたくありません。 MySQLが処理します。
Webでのリクエストに対する正しい検索条件を取得できなかったため、解決策が見つかりませんでした。手伝ってくれませんか。
ありがとうございました。
注:私のqタイトルには更新が必要です。 (それは申し訳ありませんが、私の最高だった。)を作成し、 CONSTRAINT fk_parent_validity FOREIGN KEY (child_validity) REFERENCES parents(parent_validity) ON UPDATE CASCADE
があなたのテーブル間の新しい外部キーを作成し、制約の作成制約に
CREATE TABLE `parents` (
`id` int(2) unsigned NOT NULL AUTO_INCREMENT,
`parent_validity` bit(1) NOT NULL COMMENT '1:valid or 0:invalid',
PRIMARY KEY (`id`),
KEY (`parent_validity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `children` (
`id` int(2) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` int(2) unsigned NOT NULL,
`child_validity` bit(1) NOT NULL COMMENT '1:valid or 0:invalid',
PRIMARY KEY (`id`),
KEY (`child_validity`),
CONSTRAINT fk_parent_id FOREIGN KEY (parent_id) REFERENCES parents(id) ON UPDATE CASCADE,
CONSTRAINT fk_parent_validity FOREIGN KEY (child_validity) REFERENCES parents(parent_validity) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;