0
deserved_slope_2
列にNULL
の値を設定しようとしていますが、ユーザーがフォームの値を編集するときに発生します。残念ながら、この列は、別の表の列の主キー(自動インクリメント索引)にリンクする外部キーです。Mysql外部キー列にNULL値を設定します
私は取得要求実行している場合:
Error Number: 1452
Cannot add or update a child row: a foreign key constraint fails (`game_skisimulation`.`game_created_lifts`, CONSTRAINT `fk_game_created_lifts_game_created_slopes2` FOREIGN KEY (`deserved_slope_2`) REFERENCES `game_created_slopes` (`id_created_slopes`) ON DE)
UPDATE game_created_lifts SET deserved_slope_2 = '0' WHERE id_created_lifts = '200' LIMIT 1
を私はNULL IDが呼ばテーブルに存在しないためであると読みました。残念ながら、この列にNULLを設定することはできません。
主キー列にNULL値を含めることはできません。
どうすればこの問題を解決できますか? deserved_slope_2
列にNULLを設定したい(リセットする)。
- テーブルのテーブル構造game_created_lifts
CREATE TABLE `game_created_lifts` (
`id_created_lifts` int(11) NOT NULL,
`id_player` int(11) NOT NULL,
`deserved_slope_1` int(11) DEFAULT NULL,
`deserved_slope_2` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- RELATIONS FOR TABLE `game_created_lifts`:
-- `deserved_slope_1`
-- `game_created_slopes` -> `id_created_slopes`
-- `deserved_slope_2`
-- `game_created_slopes` -> `id_created_slopes`
- テーブルのテーブル構造game_created_slopes
CREATE TABLE `game_created_slopes` (
`id_created_slopes` int(11) NOT NULL,
`id_player` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
主キーは 'NULL'が、外部キー缶を含めることはできません。 CREATE TABLEで 'deserved_slope_1'カラム' NULL'を宣言するだけです。 – Barmar
最初のブロックの更新が 'deserved_slope_2 = '0''を試みているものであれば、フィールドを' NULL'に設定しようとしません。これは同じではない「0」に設定しようとする試みである。 – Uueerdo