【发布时间】:2012-12-02 21:40:00
【问题描述】:
我在 phpMyadmin,MySQL 5.1 版本,我试图在下面运行这个 SQL,但是当我在 phpmyadin 上执行这个代码时,它给出了错误 Can't create table 'datacode.foto' (errno : 150),有人知道我的代码发生了什么吗?
CREATE TABLE IF NOT EXISTS `projeto` (
`proj_id` INT NOT NULL AUTO_INCREMENT ,
`proj_nome` VARCHAR(40) NULL ,
`proje_descr` VARCHAR(700) NULL ,
`proj_oque_fizemos` VARCHAR(200) NULL ,
`proj_url` VARCHAR(250) NULL ,
`proj_descr_url` VARCHAR(250) NULL ,
PRIMARY KEY (`proj_id`) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `categoria` (
`cat_id` INT NOT NULL AUTO_INCREMENT ,
`cat_nome` VARCHAR(45) NULL ,
PRIMARY KEY (`cat_id`) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `foto` (
`foto_id` INT NOT NULL AUTO_INCREMENT ,
`foto_url` VARCHAR(270) NULL ,
`projeto_proj_id` INT NOT NULL ,
PRIMARY KEY (`foto_id`) ,
INDEX `fk_foto_projeto1_idx` (`projeto_proj_id` ASC) ,
CONSTRAINT `fk_foto_projeto1`
FOREIGN KEY (`projeto_proj_id` )
REFERENCES `mydb`.`projeto` (`proj_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `projeto_por_categoria` (
`projeto_proj_id` INT NOT NULL ,
`categoria_cat_id` INT NOT NULL ,
PRIMARY KEY (`projeto_proj_id`, `categoria_cat_id`) ,
INDEX `fk_projeto_has_categoria_categoria1_idx` (`categoria_cat_id` ASC) ,
INDEX `fk_projeto_has_categoria_projeto_idx` (`projeto_proj_id` ASC) ,
CONSTRAINT `fk_projeto_has_categoria_projeto`
FOREIGN KEY (`projeto_proj_id` )
REFERENCES `mydb`.`projeto` (`proj_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_projeto_has_categoria_categoria1`
FOREIGN KEY (`categoria_cat_id` )
REFERENCES `mydb`.`categoria` (`cat_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
【问题讨论】:
-
表 projeto_por_categoria 出现同样的错误...
-
当我尝试单独运行时
-
您在其中创建这些表的数据库实际上是否命名为
mydb?
标签: mysql sql phpmyadmin