Re: Foreign Key Problem errno 150



Hallo Kai,

Kontrolliere nochmal, ob `nr` wirklich als erster Eintrag eines Indexes
ist, die Fehlermeldung suggeriert nämlich gegenteiliges.

'nr' ist der einzige Eintrag vom Index 'PRIMARY'

siehe Dump von stammblatt:

CREATE TABLE `tblstammblatt` (
`nr` varchar(4) NOT NULL,
`system` varchar(6) NOT NULL,
`desinfektion` int(10) unsigned NOT NULL,
`programm` varchar(10) NOT NULL,
`spannung` int(10) unsigned NOT NULL,
`temp` int(10) unsigned default NULL,
`tempfix` tinyint(1) default '0',
`zeit` int(10) unsigned default NULL,
`zeitfix` tinyint(1) default '0',
`leistung` int(10) unsigned NOT NULL COMMENT 'Watt',
`hinweis` varchar(45) default NULL COMMENT 'frueher Option',
`dosierung` varchar(10) default NULL COMMENT '?nur Auswahl?',
`aufkleber` varchar(255) default NULL COMMENT 'Pfad zur Datei',
`aufsteck` int(10) unsigned default NULL,
`aktuell` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`nr`),
KEY `FK_tblstammblatt_system` (`system`),
KEY `FK_tblstammblatt_prog` (`programm`),
KEY `FK_tblstammblatt_spannung` (`spannung`),
KEY `FK_tblstammblatt_desi` (`desinfektion`),
KEY `FK_tblstammblatt_aufsteck` (`aufsteck`),
CONSTRAINT `FK_tblstammblatt_aufsteck` FOREIGN KEY (`aufsteck`) REFERENCES `tblaufsteck` (`id`),
CONSTRAINT `FK_tblstammblatt_desi` FOREIGN KEY (`desinfektion`) REFERENCES `tbldesinfektion` (`id`),
CONSTRAINT `FK_tblstammblatt_prog` FOREIGN KEY (`programm`) REFERENCES `tblprogramm` (`programm`),
CONSTRAINT `FK_tblstammblatt_spannung` FOREIGN KEY (`spannung`) REFERENCES `tblspannung` (`id`),
CONSTRAINT `FK_tblstammblatt_system` FOREIGN KEY (`system`) REFERENCES `tblsystem` (`system`)
) TYPE=InnoDB;

- Einen Index auf `system_version` hast du, denke ich.

Nein, der sollte laut Anleitung automatisch angelegt werden. So interpretiere ich die Anleitung.
Aber: Selbst mit, von Hand angelegten Index klappt es auch nicht.

- Haben beide Spalten den gleichen Zeichensatz? (mein Favorit)

Die Zeichensätze waren tatsächlich verschieden (Latin1, UTF8).
Ich habe mich jetzt für UTF8 entschieden. Das Problem besteht aber weiterhn.

- Bist du vielleicht von
http://dev.mysql.com/doc/refman/5.0/en/silent-column-changes.html
betroffen für eine der beiden Tabellen

Nein, der Server wurde mit Version 5.0.18 aufgesetzt und arbeitet auch jetzt noch damit.
Die Stammblatt-Tabelle ist mit 5.0.27 auf einem anderen Rechner erstellt worden, allerdings ist das Dump ja wieder mit 5.0.18 eingespielt worden

Ciao,
Roland

.



Relevant Pages

  • Re: New to SQL server
    ... [CONSTRAINT constraint_name] ... | [FOREIGN KEY] ... Is the name of the database in which the table is created. ... REFERENCES permission on the type is ...
    (microsoft.public.access.adp.sqlserver)
  • Problem merging two queries
    ... CONSTRAINT PRIMARY KEY CLUSTERED ... REFERENCES ( ... CONSTRAINT FOREIGN KEY ...
    (microsoft.public.sqlserver.programming)
  • Re: Modelling Disjoint Subtypes
    ... the only constraints one should have are foreign key references. ... I think the answer is that a foreign key constraint enforces a constraint between columns in two tables. ... these tables also have a primary key K which references K as a foreign key. ...
    (comp.databases.theory)
  • Re: Updating from PointBase to Derby
    ... CONSTRAINT pk_location PRIMARY KEY, description varchar)"); ... varchar, skill varchar, CONSTRAINT fk_applicant FOREIGN KEY ... REFERENCES Applicant, CONSTRAINT fk_skill FOREIGN ...
    (comp.lang.java.help)
  • RE: Foreign Key
    ... that this is not as common as a foreign key referencing a different table, ... To view all employees who work ... CONSTRAINT emp_last_name_nn NOT NULL ... REFERENCES jobs ...
    (microsoft.public.data.ado)