2009-09-17 6 views
0

je la décharge suivante:Erreur lors de l'installation de vidage

CREATE TABLE `testdata`.`carer` (
    `ID` bigint(20) NOT NULL auto_increment, 
    `IS_DELETED` bit(1) default NULL, 
    `name` varchar(255) default NULL, 
    `account_id` bigint(20) NOT NULL, 
    `patient_carer_id` bigint(20) NOT NULL, 
    PRIMARY KEY (`ID`), 
    KEY `FK5A0E781D4C45C51` (`patient_carer_id`), 
    KEY `FK5A0E7818BCEF0FB` (`account_id`), 
    CONSTRAINT `FK5A0E781D4C45C51` FOREIGN KEY (`patient_carer_id`) REFERENCES `patients` (`ID`), 
    CONSTRAINT `FK5A0E7818BCEF0FB` FOREIGN KEY (`account_ID`) REFERENCES `account` (`ID`) 
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 

mais comme résultat que je vois ce qui suit: erreur 1061 (42000): nom en double clé « FK5A0E7818BCEF0FB »

Eh oui, le nom de clé et Le nom de contrainte est le même. Mais avec d'autres clés, nous n'avons aucun problème. Mais si je vais changer le code FK5A0E7818BCEF0FB à FK5A0E7818BCEF0FB1, cela fonctionnera.

pour plus d'informations, décharges de deux autres tables:

CREATE TABLE `testdata`.`account` (
    `ID` bigint(20) NOT NULL auto_increment, 
    `IS_DELETED` bit(1) default NULL, 
    `name` varchar(255) NOT NULL, 
    `template` varchar(255) default NULL, 
    `logoCache` bigint(20) default NULL, 
    `suspended` bit(1) default NULL, 
    `contactPerson` varchar(255) default NULL, 
    `contactPersonPosition` varchar(255) default NULL, 
    `clearLogo` bit(1) default NULL, 
    `scheduling_settings_id` bigint(20) default NULL, 
    `billing_id` bigint(20) default NULL, 
    `settingsId` bigint(20) default NULL, 
    `geocodingProvider_ID` bigint(20) default NULL, 
    `mapProvider_ID` bigint(20) default NULL, 
    `salesChannel_ID` bigint(20) default NULL, 
    `available_time_id` bigint(20) default NULL, 
    PRIMARY KEY (`ID`), 
    UNIQUE KEY `scheduling_settings_id` (`scheduling_settings_id`), 
    UNIQUE KEY `billing_id` (`billing_id`), 
    UNIQUE KEY `settingsId` (`settingsId`), 
    KEY `FKB9D38A2DBF9BE64A` (`mapProvider_ID`), 
    KEY `FKB9D38A2D64C6436C` (`billing_id`), 
    KEY `FKB9D38A2DBAC9B04B` (`geocodingProvider_ID`), 
    KEY `FKB9D38A2D641A10EA` (`available_time_id`), 
    KEY `FKB9D38A2D7D7F6D28` (`settingsId`), 
    KEY `FKB9D38A2D44D2DE01` (`scheduling_settings_id`), 
    KEY `FKB9D38A2D9A025321` (`salesChannel_ID`) 
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 




CREATE TABLE `testdata`.`patients` (
    `ID` bigint(20) NOT NULL auto_increment, 
    `IS_DELETED` bit(1) default NULL, 
    `gpName` varchar(255) default NULL, 
    `title` varchar(255) default NULL, 
    `firstName` varchar(255) NOT NULL, 
    `lastName` varchar(255) NOT NULL, 
    `nhsNumber` varchar(255) NOT NULL, 
    `sex` varchar(255) default NULL, 
    `dateOfBirth` datetime default NULL, 
    `weight` varchar(255) default NULL, 
    `notificationMethod` varchar(255) default NULL, 
    `ethnicity_id` bigint(20) default NULL, 
    `mobilityCode_ID` bigint(20) default NULL, 
    `homeLocation_ID` bigint(20) default NULL, 
    `account_id` bigint(20) NOT NULL, 
    `original_patient_id` bigint(20) default NULL, 
    PRIMARY KEY (`ID`), 
    KEY `FK49A9760E511FA9D3` (`ethnicity_id`), 
    KEY `FK49A9760E8BCEF0FB` (`account_id`), 
    KEY `FK49A9760EC7B193C1` (`mobilityCode_ID`), 
    KEY `FK49A9760EC0EFD76E` (`homeLocation_ID`), 
    KEY `FK49A9760ED05CD81` (`original_patient_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2434 DEFAULT CHARSET=utf8 

Répondre

1

Vous frappez bugs mysql 39932 et 45307.

Au lieu de

CONSTRAINT `FK5A0E7818BCEF0FB` FOREIGN KEY (`account_ID`) REFERENCES `account` (`ID`) 

essayer

CONSTRAINT `FK5A0E7818BCEF0FB` FOREIGN KEY (`account_id`) REFERENCES `account` (`ID`) 

Notez le changement de cas de account_id.

+0

Merci beaucoup! C'est génial! KEY 'FK5A0E7818BCEF0FB' (' account_id'), CONTRAINTE 'FK5A0E7818BCEF0FB' FOREIGN KEY (' 'account_ID') RÉFÉRENCES account' (' ID') ('account_id'), il première ligne doit être la même chose avec (' account_ID'), mais ce n'est pas le cas. – Max

Questions connexes