MYSQL在创建外键约束时出错

MYSQL在创建外键约束时出错,mysql,foreign-keys,primary-key,Mysql,Foreign Keys,Primary Key,我正在使用MySQL创建一个小数据库。以及在外键和主键方面面临的一些问题。我真的不明白,因为这似乎是个简单的问题 CREATE TABLE IF NOT EXISTS `db_trimms`.`urban_area` ( `area_id` INT(10) NOT NULL , `city` VARCHAR(60) NOT NULL , `state` VARCHAR(60) NOT NULL , `urban_area` VARCHAR(60) NOT NULL , `

我正在使用MySQL创建一个小数据库。以及在外键和主键方面面临的一些问题。我真的不明白,因为这似乎是个简单的问题

CREATE  TABLE IF NOT EXISTS `db_trimms`.`urban_area` (
  `area_id` INT(10)  NOT NULL ,
  `city` VARCHAR(60) NOT NULL ,
  `state` VARCHAR(60) NOT NULL ,
  `urban_area` VARCHAR(60) NOT NULL ,
  `census_region` VARCHAR(60) NOT NULL ,
  `area_no` VARCHAR(60) NOT NULL ,
  `freeway_speed` VARCHAR(60) NOT NULL ,
  `arterial_speed` VARCHAR(60) NOT NULL ,
  PRIMARY KEY (`area_id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
它运行成功。但是,在创建另一个表和创建外键时,引用上表的
区域id
,其创建问题

#1005 - Can't create table 'db_trimms.emiss_others_offpeak' (errno: 150) (Details...)
这是一个问题

CREATE  TABLE IF NOT EXISTS `db_trimms`.`emiss_others_offpeak` (
  `area_id` INT(10) UNSIGNED NOT NULL ,
  `ammonia` VARCHAR(60) NOT NULL ,
  `atm_carbon_dio` VARCHAR(60) NOT NULL ,
  `carbon_dio_equiv` VARCHAR(60) NOT NULL ,
  `carbon_mono` VARCHAR(60) NOT NULL ,
  `methane` VARCHAR(60) NOT NULL ,
  `nitrogen_dio` VARCHAR(60) NOT NULL ,
  `nitrogen_oxide` VARCHAR(60) NOT NULL ,
  `nitrous_oxide` VARCHAR(60) NOT NULL ,
  `non_meth_hydrocarbs` VARCHAR(60) NOT NULL ,
  `oxides_of_nitrogen` VARCHAR(60) NOT NULL ,
  `particulate_matter_pm10` VARCHAR(60) NOT NULL ,
  `particulate_matter_pm2_5` VARCHAR(60) NOT NULL ,
  `sulfate` VARCHAR(60) NOT NULL ,
  ` sulfur_dioxide` VARCHAR(60) NOT NULL ,
  `total_hydrocarbon` VARCHAR(60) NOT NULL ,
  `vol_org_comp` VARCHAR(60) NOT NULL ,
  PRIMARY KEY (`area_id`) ,
  CONSTRAINT `fk_others_offpeak_urban`
    FOREIGN KEY (`area_id` )
    REFERENCES `db_trimms`.`urban_area` (`area_id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

这些数据类型彼此不兼容。从表
urban\u area
中创建列
area\u id
,也
UNSIGNED

`area_id` INT(10) UNSIGNED NOT NULL ,

数据类型彼此不兼容。从表
urban\u area
中创建列
area\u id
,也
UNSIGNED

`area_id` INT(10) UNSIGNED NOT NULL ,

我认为您不能对另一个数据库进行外键引用。它的同一个数据库'db\u trimms'我认为您不能对另一个数据库进行外键引用。它的同一个数据库'db\u trimms'