互いに関連する 2 つのテーブルがあります。挿入しようとすると、次のエラー メッセージが表示されます。
子行を追加または更新できません: 外部キー制約が失敗しました (
Token
, CONSTRAINTFK_Token_my_aspnet_users_id
FOREIGN KEY (UserId
) REFERENCESmy_aspnet_users
(id
) ON DELETE NO ACTION ON UPDATE NO ACTION)
両方のテーブルのスクリプトは次のとおりです。
トークン
CREATE TABLE Token (
Id INT(11) NOT NULL AUTO_INCREMENT,
UserId INT(11) NOT NULL,
Token CHAR(36) NOT NULL,
PRIMARY KEY (Id),
CONSTRAINT FK_Token_my_aspnet_users_id FOREIGN KEY (UserId)
REFERENCES my_aspnet_users(id) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
AUTO_INCREMENT = 7
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
my_aspnet_users
CREATE TABLE my_aspnet_users (
id INT(11) NOT NULL AUTO_INCREMENT,
applicationId INT(11) NOT NULL,
name VARCHAR(256) NOT NULL,
isAnonymous TINYINT(1) NOT NULL DEFAULT 1,
lastActivityDate DATETIME DEFAULT NULL,
PRIMARY KEY (id),
INDEX fk_users_applications_idx (applicationId),
CONSTRAINT fk_users_applications FOREIGN KEY (applicationId)
REFERENCES my_aspnet_applications(id) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
AUTO_INCREMENT = 364
AVG_ROW_LENGTH = 83
CHARACTER SET latin1
COLLATE latin1_swedish_ci;