Ошибка при выполнении SQL скрипта - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. При выполнении скрипта возникает ошибка ERROR 1005 (HY000) at line 134: Can't create table 'adadad.преподаватель' (errno: 150)
-- MySQL dump 10.13  Distrib 5.7.17, for Win64 (x86_64)
--
-- Host: localhost    Database: деканат
-- ------------------------------------------------------
-- Server version   5.7.18-log
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
 
--
-- Table structure for table `группа`
--
 
DROP TABLE IF EXISTS `группа`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `группа` (
  `Номер группы` VARCHAR(10) NOT NULL,
  `Количество студентов` INT(11) DEFAULT NULL,
  `Проходной балл` INT(11) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`),
  FOREIGN KEY (`Номер группы`) REFERENCES Студент(`Номер группы`),
  FOREIGN KEY (`Номер группы`) REFERENCES Изучение(`Номер группы`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `группа`
--
 
LOCK TABLES `группа` WRITE;
/*!40000 ALTER TABLE `группа` DISABLE KEYS */;
/*!40000 ALTER TABLE `группа` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `изучение`
--
 
DROP TABLE IF EXISTS `изучение`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `изучение` (
  `Номер группы` VARCHAR(10) NOT NULL,
  `Код предмета` VARCHAR(3) NOT NULL,
  `Табельный номер` VARCHAR(3) NOT NULL,
  `Код занятия` INT(11) NOT NULL,
  `Число часов` INT(11) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`,`Код предмета`,`Табельный номер`,`Код занятия`),
  FOREIGN KEY (`Номер группы`) REFERENCES Успеваемость(`Номер группы`),
  FOREIGN KEY (`Код предмета`) REFERENCES Успеваемость(`Код предмета`),
  FOREIGN KEY (`Табельный номер`) REFERENCES Успеваемость(`Табельный номер`),
  FOREIGN KEY (`Код занятия`) REFERENCES Успеваемость(`Код занятия`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `изучение`
--
 
LOCK TABLES `изучение` WRITE;
/*!40000 ALTER TABLE `изучение` DISABLE KEYS */;
/*!40000 ALTER TABLE `изучение` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `кафедра`
--
 
DROP TABLE IF EXISTS `кафедра`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `кафедра` (
  `Код кафедры` VARCHAR(3) NOT NULL,
  `Название кафедры` VARCHAR(20) DEFAULT NULL,
  PRIMARY KEY (`Код кафедры`),
  FOREIGN KEY (`Код кафедры`) REFERENCES Преподаватель(`Код кафедры`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `кафедра`
--
 
LOCK TABLES `кафедра` WRITE;
/*!40000 ALTER TABLE `кафедра` DISABLE KEYS */;
/*!40000 ALTER TABLE `кафедра` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `предмет`
--
 
DROP TABLE IF EXISTS `предмет`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `предмет` (
  `Код предмета` VARCHAR(10) NOT NULL,
  `Название предмета` VARCHAR(30) DEFAULT NULL,
  `Число часов` INT(11) DEFAULT NULL,
  `Аудиторные занятия` INT(11) DEFAULT NULL,
  `Самостоятельная работа` INT(11) DEFAULT NULL,
  `Номер семестра` INT(11) DEFAULT NULL,
  `Код формы контроля` INT(11) DEFAULT NULL,
  PRIMARY KEY (`Код предмета`),
  FOREIGN KEY (`Код предмета`) REFERENCES Изучение(`Код предмета`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `предмет`
--
 
LOCK TABLES `предмет` WRITE;
/*!40000 ALTER TABLE `предмет` DISABLE KEYS */;
/*!40000 ALTER TABLE `предмет` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `преподаватель`
--
 
DROP TABLE IF EXISTS `преподаватель`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `преподаватель` (
  `Табельный номер` VARCHAR(3) NOT NULL,
  `Наименование преподавателя` VARCHAR(30) DEFAULT NULL,
  `Код кафедры` VARCHAR(3) DEFAULT NULL,
  `Ученая степень` VARCHAR(5) DEFAULT NULL,
  `Ученое звание` VARCHAR(10) DEFAULT NULL,
  `Должность` VARCHAR(10) DEFAULT NULL,
  PRIMARY KEY (`Табельный номер`),
  FOREIGN KEY (`Табельный номер`) REFERENCES Изучение(`Табельный номер`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `преподаватель`
--
 
LOCK TABLES `преподаватель` WRITE;
/*!40000 ALTER TABLE `преподаватель` DISABLE KEYS */;
/*!40000 ALTER TABLE `преподаватель` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `студент`
--
 
DROP TABLE IF EXISTS `студент`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `студент` (
  `Номер группы` VARCHAR(10) NOT NULL,
  `Номер студента` VARCHAR(3) NOT NULL,
  `Наименование студента` TEXT(50) DEFAULT NULL,
  `Проходной балл` VARCHAR(50) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`,`Номер студента`),
  FOREIGN KEY (`Номер студента`) REFERENCES Успеваемость(`Номер студента`),
  FOREIGN KEY (`Номер группы`) REFERENCES Успеваемость(`Номер группы`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `студент`
--
 
LOCK TABLES `студент` WRITE;
/*!40000 ALTER TABLE `студент` DISABLE KEYS */;
/*!40000 ALTER TABLE `студент` ENABLE KEYS */;
UNLOCK TABLES;
 
--
-- Table structure for table `успеваемость`
--
 
DROP TABLE IF EXISTS `успеваемость`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `успеваемость` (
  `Номер записи` INT(11) NOT NULL,
  `Номер группы` VARCHAR(10) DEFAULT NULL,
  `Номер студента` VARCHAR(3) DEFAULT NULL,
  `Код предмета` VARCHAR(3) DEFAULT NULL,
  `Табельный номер` VARCHAR(3) DEFAULT NULL,
  `Код занятия` INT(11) DEFAULT NULL,
  `Дата занятия` datetime DEFAULT NULL,
  `Балл` INT(11) DEFAULT NULL,
  PRIMARY KEY (`Номер записи`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
 
--
-- Dumping data for table `успеваемость`
--
 
LOCK TABLES `успеваемость` WRITE;
/*!40000 ALTER TABLE `успеваемость` DISABLE KEYS */;
/*!40000 ALTER TABLE `успеваемость` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
-- Dump completed on 2017-06-20 15:08:04

Решение задачи: «Ошибка при выполнении SQL скрипта»

textual
Листинг программы
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `кафедра` (
  `Код кафедры` varchar(3) NOT NULL,
  `Название кафедры` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`Код кафедры`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `предмет` (
  `Код предмета` varchar(10) NOT NULL,
  `Название предмета` varchar(30) DEFAULT NULL,
  `Число часов` int(11) DEFAULT NULL,
  `Аудиторные занятия` int(11) DEFAULT NULL,
  `Самостоятельная работа` int(11) DEFAULT NULL,
  `Номер семестра` int(11) DEFAULT NULL,
  `Код формы контроля` int(11) DEFAULT NULL,
  PRIMARY KEY (`Код предмета`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `группа` (
  `Номер группы` varchar(10) NOT NULL,
  `Количество студентов` int(11) DEFAULT NULL,
  `Проходной балл` int(11) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `преподаватель` (
  `Табельный номер` varchar(3) NOT NULL,
  `Наименование преподавателя` varchar(30) DEFAULT NULL,
  `Код кафедры` varchar(3) DEFAULT NULL,
  `Ученая степень` varchar(5) DEFAULT NULL,
  `Ученое звание` varchar(10) DEFAULT NULL,
  `Должность` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`Табельный номер`),  
  FOREIGN KEY (`Код кафедры`) REFERENCES `кафедра`(`Код кафедры`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `студент` (
  `Номер группы` varchar(10) NOT NULL,
  `Номер студента` varchar(3) NOT NULL,
  `Наименование студента` TEXT(50) DEFAULT NULL,
  `Проходной балл` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`,`Номер студента`),
  FOREIGN KEY (`Номер группы`) REFERENCES `группа`(`Номер группы`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `изучение` (
  `Номер группы` varchar(10) NOT NULL,
  `Код предмета` varchar(3) NOT NULL,
  `Табельный номер` varchar(3) NOT NULL,
  `Код занятия` int(11) NOT NULL,
  `Число часов` int(11) DEFAULT NULL,
  PRIMARY KEY (`Номер группы`,`Код предмета`,`Табельный номер`,`Код занятия`),
  FOREIGN KEY (`Код предмета`) REFERENCES `предмет`(`Код предмета`),
  FOREIGN KEY (`Табельный номер`) REFERENCES `преподаватель`(`Табельный номер`),
  FOREIGN KEY (`Номер группы`) REFERENCES `группа`(`Номер группы`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `успеваемость` (
  `Номер записи` int(11) NOT NULL,
  `Номер группы` varchar(10) DEFAULT NULL,
  `Номер студента` varchar(3) DEFAULT NULL,
  `Код предмета` varchar(3) DEFAULT NULL,
  `Табельный номер` varchar(3) DEFAULT NULL,
  `Код занятия` int(11) DEFAULT NULL,
  `Дата занятия` datetime DEFAULT NULL,
  `Балл` int(11) DEFAULT NULL,
  PRIMARY KEY (`Номер записи`),
  FOREIGN KEY (`Номер группы`) REFERENCES `изучение`(`Номер группы`),
  FOREIGN KEY (`Номер группы`) REFERENCES `студент`(`Номер группы`),
  FOREIGN KEY (`Номер студента`) REFERENCES `студент`(`Номер студента`),
  FOREIGN KEY (`Код предмета`) REFERENCES `изучение`(`Код предмета`),
  FOREIGN KEY (`Табельный номер`) REFERENCES `изучение`(`Табельный номер`),
  FOREIGN KEY (`Код занятия`) REFERENCES `изучение`(`Код занятия`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5