MudGuard: MySQL - seltsames Verhalten bei foreign key constraints

Beitrag lesen

Hi,

CREATE TABLE IF NOT EXISTS randname\_translation (
  originalName varchar(255) NOT NULL,
  neuerName varchar(255) NOT NULL,
  PRIMARY KEY (originalName),
  UNIQUE KEY neuerName (neuerName)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS user (

Die Tabelle ist doch unerheblich, hat mit dem Constraint nichts zu tun.

ALTER TABLE randname\_translation
  ADD CONSTRAINT randname\_translation\_ibfk\_1 FOREIGN KEY (neuerName) REFERENCES userTitel (userName) ON DELETE CASCADE ON UPDATE CASCADE;

Wie sieht die Tabelle userTitel aus? Die zeigst Du leider nicht, dafür die für den Constraint vollkommen irrelevante Tabelle user.

INSERT INTO user (userName) VALUES ('test');
INSERT INTO randname_translation (originalName,neuerName) VALUES ('irgendwas','test');
dann wird der Wert korrekt in die Tabelle "user" geschrieben, für den zweiten Query erhalte ich aber einen MySQL fehler:
#1452 - Cannot add or update a child row: a foreign key constraint fails (diplomarbeit.randname\_translation, CONSTRAINT randname\_translation\_ibfk\_1 FOREIGN KEY (neuerName) REFERENCES userTitel (userName) ON DELETE CASCADE ON UPDATE CASCADE)

Wo hast Du denn den Eintrag in der Tabelle userTitel gemacht?

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.