Bugreport: Fehler beim Anlegen einer Mandantendatenbank
-
Beim Anlegen einer Mandantendatenbank kommt folgender Fehler:
-- -- Constraints der Tabelle `isys_catg_manual_list` -- ALTER TABLE `isys_catg_manual_list` ADD CONSTRAINT `isys_catg_manual_list_ibfk_1` FOREIGN KEY ( `isys_catg_manual_list__isys_catg_manual__id` ) REFERENCES `isys_catg_manual` ( `isys_catg_manual__id` ) ON DELETE NO ACTION ON UPDATE NO ACTION , ADD CONSTRAINT `isys_catg_manual_list_ibfk_2` FOREIGN KEY ( `isys_catg_manual_list__isys_obj__id` ) REFERENCES `isys_obj` ( `isys_obj__id` ) ON DELETE NO ACTION ON UPDATE NO ACTION ; MySQL meldet: Dokumentation #1005 - Can't create table './concorde/#sql-81e_118.frm' (errno: 150)
Ich benutze die Version 0.9.5
Der Header der sata.sql besagt folgendes:
-- phpMyAdmin SQL Dump -- version 3.0.0 -- http://www.phpmyadmin.net -- -- Host: localhost -- Erstellungszeit: 26\. Januar 2009 um 16:16 -- Server Version: 5.0.41 -- PHP-Version: 5.2.3 SET FOREIGN_KEY_CHECKS=0; SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Datenbank: `idoit_095_data` --
Vielen Dank für die Hilfe
-
Hallo,
laufen Deine Tabellen alle mit der Engine InnoDB? Unter Windows ist die Unterstützung für diese Engine manchmal ausgeschaltet, weswegen diese dann als MyISAM angelegt werden. -
Das ganze läuft unter debian etch und mysql 5.0. Ein Windowsproblem kann es daher nicht sein.
-
Hast Du trotzdem mal geprüft, ob die Tabellen mit InnoDB erstellt wurden?
-
Alle Tabellen sind Typ InnoDB, habe ich gerade nochmal kontrolliert.
Es werden auch nur 360 Tabellen erstellt, in anderen Datenbanken sind es 373.
-
Hi,
versuche doch mal Folgendes:Innerhalb der data.sql gibt es folgende Teile:
DROP TABLE IF EXISTS `isys_catg_graphic_list`; CREATE TABLE `isys_catg_graphic_list` ( `isys_catg_graphic_list__id` int(10) unsigned NOT NULL auto_increment, `isys_catg_graphic_list__isys_catg_graphic__id` int(10) unsigned NOT NULL default '0', `isys_catg_graphic_list__isys_memory_unit__id` int(10) unsigned NOT NULL default '0', `isys_catg_graphic_list__isys_graphic_manufacturer__id` int(10) unsigned NOT NULL default '0', `isys_catg_graphic_list__title` varchar(255) collate utf8_unicode_ci default NULL, `isys_catg_graphic_list__memory` int(10) default NULL, `isys_catg_graphic_list__description` text collate utf8_unicode_ci, `isys_catg_graphic_list__status` int(10) unsigned default NULL, `isys_catg_graphic_list__property` int(10) unsigned default NULL, PRIMARY KEY (`isys_catg_graphic_list__id`), KEY `isys_catg_manual_list_FKIndex1` (`isys_catg_graphic_list__isys_catg_graphic__id`), KEY `isys_catg_manual_list_FKIndex2` (`isys_catg_graphic_list__isys_memory_unit__id`), KEY `isys_catg_manual_list_FKIndex3` (`isys_catg_graphic_list__isys_graphic_manufacturer__id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
DROP TABLE IF EXISTS `isys_catg_sound_list`; CREATE TABLE `isys_catg_sound_list` ( `isys_catg_sound_list__id` int(10) unsigned NOT NULL auto_increment, `isys_catg_sound_list__isys_catg_sound__id` int(10) unsigned NOT NULL default '0', `isys_catg_sound_list__isys_sound_manufacturer__id` int(10) unsigned NOT NULL default '0', `isys_catg_sound_list__title` varchar(255) collate utf8_unicode_ci default NULL, `isys_catg_sound_list__description` text collate utf8_unicode_ci, `isys_catg_sound_list__status` int(10) unsigned default NULL, `isys_catg_sound_list__property` int(10) unsigned default NULL, PRIMARY KEY (`isys_catg_sound_list__id`), KEY `isys_catg_manual_list_FKIndex1` (`isys_catg_sound_list__isys_catg_sound__id`), KEY `isys_catg_manual_list_FKIndex2` (`isys_catg_sound_list__isys_sound_manufacturer__id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
DROP TABLE IF EXISTS `isys_catg_virtual_machine_list`; CREATE TABLE `isys_catg_virtual_machine_list` ( `isys_catg_virtual_machine_list__id` int(10) unsigned NOT NULL auto_increment, `isys_catg_virtual_machine_list__isys_catg_virtual_machine__id` int(10) unsigned NOT NULL default '0', `isys_catg_virtual_machine_list__isys_obj__id` int(10) default NULL, `isys_catg_virtual_machine_list__system` varchar(255) collate utf8_unicode_ci default NULL, `isys_catg_virtual_machine_list__title` varchar(255) collate utf8_unicode_ci default NULL, `isys_catg_virtual_machine_list__vm` int(10) default NULL, `isys_catg_virtual_machine_list__description` text collate utf8_unicode_ci, `isys_catg_virtual_machine_list__status` int(10) unsigned default NULL, `isys_catg_virtual_machine_list__property` int(10) unsigned default NULL, PRIMARY KEY (`isys_catg_virtual_machine_list__id`), KEY `isys_catg_manual_list_FKIndex1` (`isys_catg_virtual_machine_list__isys_catg_virtual_machine__id`), KEY `isys_catg_manual_list_FKIndex2` (`isys_catg_virtual_machine_list__isys_obj__id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
Ändere die Keys mal so, dass sie dem Tabellennamen entsprechen, also für isys_catg_graphic_list z.B.:
Ausisys_catg_manual_list_FKIndex1
mach
isys_catg_graphic_list_FKIndex1usw.
Da sind wohl einige Keys falsch benamt.
-
Ok, das habe ich geändert und eine neue Datenbank angelegt. Jetzt kommt folgender Fehler:
Fehler SQL-Befehl: -- -- Constraints der Tabelle `isys_catg_controller_list` -- ALTER TABLE `isys_catg_controller_list` ADD CONSTRAINT `isys_catg_controller_list_ibfk_1` FOREIGN KEY (`isys_catg_controller_list__isys_controller_type__id`) REFERENCES `isys_controller_type` (`isys_controller_type__id`) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT `isys_catg_controller_list_ibfk_2` FOREIGN KEY (`isys_catg_controller_list__isys_catg_controller__id`) REFERENCES `isys_catg_controller` (`isys_catg_controller__id`) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT `isys_catg_controller_list_ibfk_3` FOREIGN KEY (`isys_catg_controller_list__isys_controller_manufacturer__id`) REFERENCES `isys_controller_manufacturer` (`isys_controller_manufacturer__id`) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT `isys_catg_controller_list_ibfk_4` FOREIGN KEY (`isys_catg_controller_list__isys_controller_model__id`) REFERENCES `isys_controller_model` (`isys_controller_model__id`) ON DELETE NO AC[...] MySQL meldet: Dokumentation #1005 - Can't create table './test/#sql-81e_1e9.frm' (errno: 150)
Wenn ich doch nur mehr Ahnung von SQL hätte.
-
Schwierig von hier aus zu analysieren. Was sagt denn Dein error log von MySQL?
-
Das ist vollkommen leer.