2010-07-23 13 views
75
CREATE TABLE `users` (
    `UID` INT UNSIGNED NOT NULL AUTO_INCREMENT , 
    `username` VARCHAR(45) NOT NULL , 
    `password` VARCHAR(100) NULL , 
    `name` VARCHAR(100) NULL , 
    `gender` BIT NULL , 
    `email` VARCHAR(255) NULL , 
    `phone` VARCHAR(30) NOT NULL , 
    `verified` BIT NOT NULL DEFAULT 0 , 
    `time_zone` INT NULL , 
    `time_register` DATETIME NULL , 
    `time_active` DATETIME NULL , 
    PRIMARY KEY (`UID`) , 
    UNIQUE INDEX `username_UNIQUE` (`username` ASC) , 
    INDEX `verified_INDEX` (`verified` ASC)) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8; 


-- ----------------------------------------------------- 
-- Table `companies` 
-- ----------------------------------------------------- 
CREATE TABLE `companies` (
    `CID` INT UNSIGNED NOT NULL AUTO_INCREMENT , 
    `name` VARCHAR(45) NOT NULL , 
    `address` VARCHAR(100) NULL , 
    `email` VARCHAR(255) NULL , 
    `phone` VARCHAR(30) NULL , 
    `link` TEXT NULL , 
    `image_small` TEXT NULL , 
    `image_large` TEXT NULL , 
    `yahoo` VARCHAR(100) NULL , 
    `linkin` VARCHAR(100) NULL , 
    `twitter` VARCHAR(20) NULL , 
    `description` TEXT NULL , 
    `shoutout` VARCHAR(140) NULL , 
    `verified` BIT NOT NULL DEFAULT 0 , 
    PRIMARY KEY (`CID`) , 
    INDEX `name_INDEX` (`name` ASC) , 
    INDEX `verified_INDEX` (`verified` ASC)) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8; 

-- ----------------------------------------------------- 
-- Table `products` 
-- ----------------------------------------------------- 
CREATE TABLE `products` (
    `PID` INT UNSIGNED NOT NULL AUTO_INCREMENT , 
    `CID` INT UNSIGNED NOT NULL , 
    `name` VARCHAR(100) NULL , 
    `description` TEXT NULL , 
    `image_small` TEXT NULL , 
    `image_large` TEXT NULL , 
    `tag` VARCHAR(45) NULL , 
    `price` DECIMAL(11,2) NULL , 
    PRIMARY KEY (`PID`) , 
    INDEX `tag_INDEX` (`tag` ASC) , 
    INDEX `company.cid_FK` (`CID` ASC) , 
    CONSTRAINT `company.cid_FK` 
    FOREIGN KEY (`CID`) 
    REFERENCES `companies` (`CID`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8; 

-- ----------------------------------------------------- 
-- Table `users_companies` 
-- ----------------------------------------------------- 
CREATE TABLE `users_companies` (
    `UID` INT UNSIGNED NOT NULL , 
    `CID` INT UNSIGNED NOT NULL , 
    `role` INT UNSIGNED NULL , 
    PRIMARY KEY (`CID`, `UID`) , 
    INDEX `users.uid_FK` (`UID` ASC) , 
    INDEX `company.cid_FK` (`CID` ASC) , 
    CONSTRAINT `users.uid_FK` 
    FOREIGN KEY (`UID`) 
    REFERENCES `users` (`UID`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `company.cid_FK` 
    FOREIGN KEY (`CID`) 
    REFERENCES `companies` (`CID`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8; 

i sql hata errno: 121

#1005 - Can't create table 'wew.users_companies' (errno: 121) (<a href="server_engines.php?engine=InnoDB&amp;page=Status&amp;token=3f35afdea97dd11f6b4ec1b669816738">Details...</a>) 

kimse sorun olan biri bana söyleyebilir hata

var?

cevap

142

company.cid_FK adlı iki kısıtlama var. Birini yeniden adlandırın.

+7

Neden MySQL Workbench bunun için denetleme yapmıyorsa bu benim için ötesindir. :( – eaj

+6

MySQL Workbench, MySQL hatalarını önleme/açıklama konusunda çok fakir bir iş yapıyor ... –

48

Böyle hatalar için 'perror' ile daha fazla bilgi bulabilirsiniz. yani

shell $ perror 121 

MySQL hata kodu 121: Yinelenen yazma anahtar veya
Win32 hata kodu 121 güncelleme: zaman aşımı süresi vardır.

+4

Bir Windows makinesinde olmadığınız sürece. :-( –

+1

teşekkür ederim, bu son derece yararlı! – hgolov

İlgili konular