Ошибка при выполнении 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д