我在我的一个项目中创建了一个数据库,但我不确定我是否仍然这样做。我还在学习sql,而且我在我制作的一些表格中徘徊。操作如下。
表格是官员,部门,计划,项目,里程碑,当我尝试在http://sqlfiddle.com中创建此表时,我收到错误无法创建数据库' db_9_85e4c&#39 ;;当我尝试在官员&中修改和创建外键时,数据库存在分区表。
这是我的桌子:
军官表
create table officer
(
id int not null auto_increment
primary key,
name varchar(100) not null,
s_position varchar(50) null,
f_position varchar(100) not null,
constraint officer_name_uindex
unique (name),
constraint officer_position_uindex
unique (f_position),
constraint officer_division_division_id_fk
foreign key (id) references test.division (division_id)
on update cascade on delete cascade
)
;
分部表
create table division
(
division_id int not null
primary key,
acronym varchar(50) not null,
sequence_id int not null,
decription varchar(50) not null,
constraint division_sequesnce_id_uindex
unique (sequence_id),
constraint division_acronym_uindex
unique (acronym),
constraint division_decription_uindex
unique (decription),
constraint division_ppmp_ppmp_id_fk
foreign key (division_id) references test.ppmp (ppmp_id)
on update cascade on delete cascade
)
;
计划表
create table ppmp
(
ppmp_id int not null auto_increment
primary key,
year varchar(50) not null
)
;
项目表
create table items
(
id int not null auto_increment
primary key,
description varchar(100) not null,
unit varchar(50) not null,
quantity int not null,
budget double not null,
mode varchar(50) not null,
constraint items_milestone_id_fk
foreign key (id) references test.milestone (id)
on update cascade on delete cascade,
constraint items_ppmp_ppmp_id_fk
foreign key (id) references test.ppmp (ppmp_id)
on update cascade on delete cascade
)
;
里程碑表
create table milestone
(
id int not null auto_increment
primary key,
january int null,
february int null,
march int null,
april int null,
may int null,
june int null,
july int null,
august int null,
september int null,
october int null,
november int null,
decemeber int null
)
;
答案 0 :(得分:1)
使用此顺序的表格创建模式
问题正在发生,因为官员对division_id有一个关键但该表和列尚不存在。