0
テーブル内のテーブル(技術的および問題)との関係は、他のテーブルの技術が選択されている3つの状態(in、waiting、out)です。SQL外部キー(子行を追加または更新できません)
問題は、私は技術者のIDを変更しようとすると、私に次のエラーを与えることである。
#1452 - Cannot add or update a child row: a foreign key constraint fails (`demo_stack`.`problem`, CONSTRAINT `problem_ibfk_1` FOREIGN KEY (`technical_id_in`) REFERENCES `technical` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
アップデート:
UPDATE `technical` SET `id` = '14' WHERE `technical`.`id` = 1
テーブル:
CREATE TABLE technical (
id INT NOT NULL AUTO_INCREMENT,
name varchar(255),
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE problem (
id INT,
name varchar(255),
technical_id_in INT,
technical_id_waiting INT,
technical_id_out INT,
INDEX (technical_id_in,technical_id_waiting,technical_id_out),
FOREIGN KEY (technical_id_in) REFERENCES technical(id) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (technical_id_waiting) REFERENCES technical(id) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (technical_id_out) REFERENCES technical(id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=INNODB;
INSERT INTO `technical` (`id`, `name`) VALUES ('1', 'victor'), ('2', 'eduardo'), ('3', 'jose');
INSERT INTO `problem` (`id`, `name`, `technical_id_in`, `technical_id_waiting`, `technical_id_out`) VALUES ('1', 'Problem 1', '1', '2', '1'), ('2', 'Problem 2', '1', '1', '1');
誰もが考えている?ありがとう!!!
なぜ行の番号を変更しようとしますか?あなたは問題が 'technical'を参照しているのでエラーが発生します。' id' = 14. – jarlh
はい、私は技術的な変更のID、他のテーブルもIDを変更するときにしたいです... –