Can't create table 'data_test.dim_event' (errno: 150)
关于Error Code: 1005. Can't create table 'data_test.dim_event' (errno: 150)
在创建两个表的外联时,遇到的无法创建表的问题,需要把非主键的值设为索引
CREATE TABLE IF NOT EXISTS `dwd_event_dot` (
`date_time` INT NULL COMMENT '时间',
`id_event` INT NULL COMMENT '事件id',
`visit` INT NULL COMMENT '访问量',
`int_attr_1` INT NULL COMMENT 'Int类型属性1',
`int_attr_2` INT NULL COMMENT 'Int类型属性2',
`int_attr_3` INT NULL COMMENT 'Int类型属性3',
`int_attr_4` INT NULL COMMENT 'Int类型属性4',
`int_attr_5` INT NULL COMMENT 'Int类型属性5',
`string_attr_1` VARCHAR(255) NULL COMMENT '字符类型属性1',
`string_attr_2` VARCHAR(255) NULL COMMENT '字符类型属性2',
`string_attr_3` VARCHAR(255) NULL COMMENT '字符类型属性3',
`string_attr_4` VARCHAR(255) NULL COMMENT '字符类型属性4',
`string_attr_5` VARCHAR(255) NULL COMMENT '字符类型属性5'
-- alter TABLE `table_name` ADD INDEX index_name ( `column` ) )
)
ENGINE = InnoDB;
CREATE INDEX dwd_event_dot_id_event ON dwd_event_dot (id_event);
-- -- Table `dim_event`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dim_event` (
`id` INT NOT NULL,
`code` VARCHAR(45) NULL,
`name` VARCHAR(45) NULL COMMENT '事件名称',
PRIMARY KEY (`id`),
CONSTRAINT `fk_dim_event_dwd_event_dot1`
FOREIGN KEY (`id`)
REFERENCES `dwd_event_dot` (`id_event`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

浙公网安备 33010602011771号