Promiszd Ответов: 1

Может ли кто-нибудь помочь и объяснить, почему это не сработает для меня?


Я пытаюсь создать эту базу данных и таблицы, и она не работает для меня.

Любая помощь будет оценена по достоинству
  1  DROP DATABASE  IF EXISTS LocalGirlsBasketball_DB;
  2  CREATE DATABASE IF NOT EXISTS LocalGirlsBasketball_DB;
  3  USE LocalGirlsBasketball_DB;
  4  
  5  CREATE TABLE Team
  6  (
  7      team_ID        CHAR(10),
  8      name      VARCHAR(50) NOT NULL,
  9      color     VARCHAR(25),
 10      
 11  
 12      CONSTRAINT Team_PK PRIMARY KEY (team_ID)
 13  
 14  );
 15  
 16  CREATE TABLE Coach
 17  (
 18      
 19      CoachID      CHAR(10),
 20      Name       VARCHAR(25),
 21      Cert       VARCHAR(25),
 22      Email      VARCHAR(25),
 23      Phone      CHAR(10),
 24  
 25  
 26      
 27  
 28      CONSTRAINT Coach_PK PRIMARY KEY (CoachID ),
 29      CONSTRAINT Coach_FK1 FOREIGN KEY (Team_ID) 
 30      REFERENCES Coach(CoachID)
 31  
 32  );
 33  
 34  
 35  CREATE TABLE Player
 36  (
 37      
 38      Player_ID   VARCHAR(100)
 39      First       VARCHAR(25),
 40      Last        VARCHAR(25),
 41      Percentage  CHAR(100),
 42      Age         VARCHAR(10),
 43      Email       VARCHAR (25),
 44      Team_ID_FK  CHAR(100),
 45  
 46      CONSTRAINT Player_PK PRIMARY KEY (Player_ID),
 47      CONSTRAINT Player_FK1 FOREIGN KEY (Team_ID_FK)
 48      REFERENCES Coach(CoachID)
 49  
 50  
 51  
 52  );
 53  
 54  
 55  
 56  CREATE TABLE Inventory
 57  (
 58     
 59      ITEMNUM         CHAR(20) NOT NULL,
 60      Name            VARCHAR(5),
 61      Description     VARCHAR(50),
 62      Price           CHAR(100),
 63      Quantity        CHAR(1000),
 64      Player_ID_FK    CHAR(100)
 65  
 66  
 67      CONSTRAINT Inventory_PK PRIMARY KEY (ITEMNUM),
 68      CONSTRAINT Inventory_FK1 FOREIGN KEY (Player_ID_FK)
 69      REFERENCES Coach(CoachID)
 70  
 71  
 72  );
 73  
 74  
 75  CREATE TABLE CoachCheckOut 
 76  (
 77      Coach_ID_FK           CHAR(10),
 78      ItemNum               VARCHAR(100),
 79      CheckNum              VARCHAR(100)
 80  
 81      CONSTRAINT  CoachCheckOut_PK  PRIMARY KEY (CheckNum)
 82  
 83  );
 84  
 85  
 86  
 87  CREATE TABLE Parent
 88  (
 89      ParentID        VARCHAR(100),
 90      First           VARCHAR(10),
 91      Last            VARCHAR(10),
 92      Email           VARCHAR(25),
 93      Phone           CHAR(10),
 94      Address         VARCHAR(25)
 95  
 96      CONSTRAINT Parent_PK PRIMARY KEY (ParentID)
 97  
 98  
 99  );
100  
101  
102  
103  
104  CREATE TABLE RelatedTo 
105  (
106      ParentID_FK    CHAR(100),
107      PlayerID_FK    CHAR(100),
108      
109  
110  
111  
112  CONSTRAINT  RelatedTo_FK1 FOREIGN KEY (ParentID_FK)
113  REFERENCES  Coach(CoachID),
114  
115  CONSTRAINT  RelatedTo_FK2 FOREIGN KEY (PlayerID_FK)
116  REFERENCES  Coach(CoachID),
117   
118  
119  
120  );


Что я уже пробовал:

Я пробовал запустить его и постоянно получаю ошибку(1072)

RedDk

У вас есть множество внешних ключей (к которым относится ошибка "1072") ... Проверьте, есть ли столбец по имени каждого из внешних ключей, потому что это то, что вызывает заслонку.

видеть здесь:
https://www.w3schools.com/sql/sql_foreignkey.asp
о том, как добавить правильный код в ваш скрипт .sql.
Или еще лучше проконсультируйтесь с BOL для вашей версии SQLServer.

1 Ответов

Рейтинг:
1

OriginalGriff

Внимательно посмотрите на сообщение об ошибке: оно сообщит вам, какое ограничение оно не может создать.

ERROR 1072 (42000): Key column 'XXXX' doesn't exist in table

Как только вы это узнаете, вы можете начать искать проблему.

Но этот код не даст 1072: здесь отсутствует запятая:
CREATE TABLE Player
(

Player_ID VARCHAR(100)
                      ^
                      |
                       ----- Will caus eteh whole thing to be rejected with an "Incorrect syntax" error
First VARCHAR(25),
Last VARCHAR(25),