gpt4 book ai didi

mysql - 数据库创建和双重检查错误

转载 作者:行者123 更新时间:2023-11-29 10:45:48 24 4
gpt4 key购买 nike

我在我的一个项目中创建了一个数据库,但我不确定我是否仍然做得正确。我仍在学习 sql,并且在我制作的一些表中遇到了困难。操作如下。

  1. 我可以添加军官及其分配的部门。
  2. 我必须每年检查每个部门的计划以及相应的里程碑(月)项目。
  3. 我还可以检查每个里程碑(月)有多少个项目,反之亦然。

表格是官员部门计划项目里程碑、当我尝试在 http://sqlfiddle.com 创建此表时我收到错误无法创建数据库“db_9_85e4c”;当我尝试在军官和部门表中更改和创建外键时,数据库存在

这是我的表格:

军官表

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
)
;

plan

最佳答案

按此顺序使用表创建架构

  • 里程碑
  • ppmp
  • 项目
  • 部门
  • 官员

发生问题的原因是Officer有一个division_id的外键,但该表和列尚不存在。

关于mysql - 数据库创建和双重检查错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com