私が達成しようとしているのは、tableB の 1 行が削除されたときに tableA の行を更新したいということです。
tableA のレイアウトは次のとおりです。
+----------------------------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------------------+----------------+
| user_id | int(11) | NO | PRI | NULL | auto_increment |
| nickname | varchar(32) | NO | | NULL | |
| password | varchar(129) | NO | | NULL | |
| mafia_id | int(11) | NO | | 0 | |
+----------------------------+--------------+------+-----+---------------------+----------------+
そしてtableBのこれ:
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| mafia_id | int(11) | NO | PRI | NULL | auto_increment |
| mafia_name | varchar(32) | NO | | | |
| mafia_tag | varchar(5) | NO | | | |
| mafia_color | int(11) | NO | | 0 | |
| mafia_car | int(11) | NO | | 0 | |
| mafia_base | int(11) | NO | | 0 | |
+-------------+-------------+------+-----+---------+----------------+
tableB の対応する mafia_id が削除されたときに、すべての tableA.mafia_id を 0 に設定したいと考えています。
データベースが自動的にそれを行うというドキュメントを読みましたが、テーブルの作成時にいくつかのものを指定する必要があります (CREATE TABLE、create_definition: | CHECK (expr)?)。ドキュメントは私には少し不明確です。
このトピックも読みました: 別のテーブルの列が更新されたときに、あるテーブルの列を更新するトリガーを作成する
でも、これは私には当てはまらないと思いますか?
では、そのようなテーブルを作成する (テーブルを作成する ...) または行ステートメントを削除するにはどうすればよいでしょうか? 前もって感謝します!