1

互いに関連する 2 つのテーブルがあります。挿入しようとすると、次のエラー メッセージが表示されます。

子行を追加または更新できません: 外部キー制約が失敗しました ( Token, CONSTRAINT FK_Token_my_aspnet_users_idFOREIGN KEY ( UserId) REFERENCES my_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;
4

1 に答える 1

4

挿入しようとしているトークン ID が実際に存在するかどうかを確認します

于 2013-09-30T16:04:58.773 に答える