2017-06-17 26 views
0

我在我的一個項目中創建了一個數據庫,但我不確定我是否仍然正確地做。我仍然在學習sql,並且在一些表格中徘徊。操作如下。數據庫創建和雙重檢查錯誤

  1. 我可以增加軍官與它的分配師。
  2. 我必須檢查每個部門每年他們的計劃以及與里程碑(月)相對應的項目。
  3. 我也可以檢查每個里程碑有多少件物品(月)&副Versa。

表是計劃項目里程碑,當我嘗試在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

回答

1

順序創建的表的模式

  • 里程碑
  • PPMP
  • 項目

問題發生,因爲官員有foreing關鍵division_id但表和列尚不存在。

+0

我試過這一個創建**官員**然後我創建了**師**表格然後最後我**改變**官員表創建一個外鍵給師表。 – Larigyn