Termine speichern upgedatete DB schlägt fehl

Topics from older beta tests.
Gesperrt
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Termine speichern upgedatete DB schlägt fehl

Beitrag von Jochen »

Beim speichern von Terminen erhalte ich folgende Fehlermeldung. Das Problem tritt nur bei einer Upgedateten DB auf.
S Q L - E R R O R

CODE: 1452
Cannot add or update a child row: a foreign key constraint fails (`bdkjdb`.`adm_date_role`, CONSTRAINT `adm_FK_DTR_DAT` FOREIGN KEY (`dtr_dat_id`) REFERENCES `adm_dates` (`dat_id`))

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 210
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 80
CALL: MySqlDB->db_error()

FILE: adm_program/system/classes/table_access.php
LINE: 347
CALL: MySqlDB->query()

FILE: adm_program/system/classes/table_date.php
LINE: 246
CALL: TableAccess->save()

FILE: adm_program/modules/dates/dates_function.php
LINE: 292
CALL: TableDate->save()
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Den Fehler kann ich nachvollziehen.

Allerdings scheint die Lösung nicht ganz so einfach ...
taba
Beiträge: 26
Registriert: 13. Okt 2009, 14:18

Beitrag von taba »

Der Fehler tritt bei mir nicht auf. Ich hab ein Update von 2.09 auf 2.2 gemacht...

Gruß
taba
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

So, hat ein bischen gedauert, aber jetzt hab ich die Ursache für dieses Problem gefunden.

In der betroffenen Datenbank, welche hier aktualisiert wurde, befinden sich nur MyISAM-Tabellen. Führt man nun das Update auf einer InnoDB-fähigen Datenbank durch, so werden jetzt Constraints angelegt. Erst beim Insert merkt er das was nicht passt.

Entweder müssen beide Systeme MyISAM bleiben, oder beide auf InnoDB aktualisiert werden.
Gesperrt