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

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

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

Здравствуйте. При выполнении скрипта возникает ошибка ERROR 1005 (HY000) at line 134: Can't create table 'adadad.преподаватель' (errno: 150)
Листинг программы
  1. -- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64)
  2. --
  3. -- Host: localhost Database: деканат
  4. -- ------------------------------------------------------
  5. -- Server version 5.7.18-log
  6. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  7. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  8. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  9. /*!40101 SET NAMES utf8 */;
  10. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  11. /*!40103 SET TIME_ZONE='+00:00' */;
  12. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  13. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  14. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  15. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  16. --
  17. -- Table structure for table `группа`
  18. --
  19. DROP TABLE IF EXISTS `группа`;
  20. /*!40101 SET @saved_cs_client = @@character_set_client */;
  21. /*!40101 SET character_set_client = utf8 */;
  22. CREATE TABLE `группа` (
  23. `Номер группы` VARCHAR(10) NOT NULL,
  24. `Количество студентов` INT(11) DEFAULT NULL,
  25. `Проходной балл` INT(11) DEFAULT NULL,
  26. PRIMARY KEY (`Номер группы`),
  27. FOREIGN KEY (`Номер группы`) REFERENCES Студент(`Номер группы`),
  28. FOREIGN KEY (`Номер группы`) REFERENCES Изучение(`Номер группы`)
  29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  30. /*!40101 SET character_set_client = @saved_cs_client */;
  31. --
  32. -- Dumping data for table `группа`
  33. --
  34. LOCK TABLES `группа` WRITE;
  35. /*!40000 ALTER TABLE `группа` DISABLE KEYS */;
  36. /*!40000 ALTER TABLE `группа` ENABLE KEYS */;
  37. UNLOCK TABLES;
  38. --
  39. -- Table structure for table `изучение`
  40. --
  41. DROP TABLE IF EXISTS `изучение`;
  42. /*!40101 SET @saved_cs_client = @@character_set_client */;
  43. /*!40101 SET character_set_client = utf8 */;
  44. CREATE TABLE `изучение` (
  45. `Номер группы` VARCHAR(10) NOT NULL,
  46. `Код предмета` VARCHAR(3) NOT NULL,
  47. `Табельный номер` VARCHAR(3) NOT NULL,
  48. `Код занятия` INT(11) NOT NULL,
  49. `Число часов` INT(11) DEFAULT NULL,
  50. PRIMARY KEY (`Номер группы`,`Код предмета`,`Табельный номер`,`Код занятия`),
  51. FOREIGN KEY (`Номер группы`) REFERENCES Успеваемость(`Номер группы`),
  52. FOREIGN KEY (`Код предмета`) REFERENCES Успеваемость(`Код предмета`),
  53. FOREIGN KEY (`Табельный номер`) REFERENCES Успеваемость(`Табельный номер`),
  54. FOREIGN KEY (`Код занятия`) REFERENCES Успеваемость(`Код занятия`)
  55. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  56. /*!40101 SET character_set_client = @saved_cs_client */;
  57. --
  58. -- Dumping data for table `изучение`
  59. --
  60. LOCK TABLES `изучение` WRITE;
  61. /*!40000 ALTER TABLE `изучение` DISABLE KEYS */;
  62. /*!40000 ALTER TABLE `изучение` ENABLE KEYS */;
  63. UNLOCK TABLES;
  64. --
  65. -- Table structure for table `кафедра`
  66. --
  67. DROP TABLE IF EXISTS `кафедра`;
  68. /*!40101 SET @saved_cs_client = @@character_set_client */;
  69. /*!40101 SET character_set_client = utf8 */;
  70. CREATE TABLE `кафедра` (
  71. `Код кафедры` VARCHAR(3) NOT NULL,
  72. `Название кафедры` VARCHAR(20) DEFAULT NULL,
  73. PRIMARY KEY (`Код кафедры`),
  74. FOREIGN KEY (`Код кафедры`) REFERENCES Преподаватель(`Код кафедры`)
  75. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  76. /*!40101 SET character_set_client = @saved_cs_client */;
  77. --
  78. -- Dumping data for table `кафедра`
  79. --
  80. LOCK TABLES `кафедра` WRITE;
  81. /*!40000 ALTER TABLE `кафедра` DISABLE KEYS */;
  82. /*!40000 ALTER TABLE `кафедра` ENABLE KEYS */;
  83. UNLOCK TABLES;
  84. --
  85. -- Table structure for table `предмет`
  86. --
  87. DROP TABLE IF EXISTS `предмет`;
  88. /*!40101 SET @saved_cs_client = @@character_set_client */;
  89. /*!40101 SET character_set_client = utf8 */;
  90. CREATE TABLE `предмет` (
  91. `Код предмета` VARCHAR(10) NOT NULL,
  92. `Название предмета` VARCHAR(30) DEFAULT NULL,
  93. `Число часов` INT(11) DEFAULT NULL,
  94. `Аудиторные занятия` INT(11) DEFAULT NULL,
  95. `Самостоятельная работа` INT(11) DEFAULT NULL,
  96. `Номер семестра` INT(11) DEFAULT NULL,
  97. `Код формы контроля` INT(11) DEFAULT NULL,
  98. PRIMARY KEY (`Код предмета`),
  99. FOREIGN KEY (`Код предмета`) REFERENCES Изучение(`Код предмета`)
  100. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  101. /*!40101 SET character_set_client = @saved_cs_client */;
  102. --
  103. -- Dumping data for table `предмет`
  104. --
  105. LOCK TABLES `предмет` WRITE;
  106. /*!40000 ALTER TABLE `предмет` DISABLE KEYS */;
  107. /*!40000 ALTER TABLE `предмет` ENABLE KEYS */;
  108. UNLOCK TABLES;
  109. --
  110. -- Table structure for table `преподаватель`
  111. --
  112. DROP TABLE IF EXISTS `преподаватель`;
  113. /*!40101 SET @saved_cs_client = @@character_set_client */;
  114. /*!40101 SET character_set_client = utf8 */;
  115. CREATE TABLE `преподаватель` (
  116. `Табельный номер` VARCHAR(3) NOT NULL,
  117. `Наименование преподавателя` VARCHAR(30) DEFAULT NULL,
  118. `Код кафедры` VARCHAR(3) DEFAULT NULL,
  119. `Ученая степень` VARCHAR(5) DEFAULT NULL,
  120. `Ученое звание` VARCHAR(10) DEFAULT NULL,
  121. `Должность` VARCHAR(10) DEFAULT NULL,
  122. PRIMARY KEY (`Табельный номер`),
  123. FOREIGN KEY (`Табельный номер`) REFERENCES Изучение(`Табельный номер`)
  124. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  125. /*!40101 SET character_set_client = @saved_cs_client */;
  126. --
  127. -- Dumping data for table `преподаватель`
  128. --
  129. LOCK TABLES `преподаватель` WRITE;
  130. /*!40000 ALTER TABLE `преподаватель` DISABLE KEYS */;
  131. /*!40000 ALTER TABLE `преподаватель` ENABLE KEYS */;
  132. UNLOCK TABLES;
  133. --
  134. -- Table structure for table `студент`
  135. --
  136. DROP TABLE IF EXISTS `студент`;
  137. /*!40101 SET @saved_cs_client = @@character_set_client */;
  138. /*!40101 SET character_set_client = utf8 */;
  139. CREATE TABLE `студент` (
  140. `Номер группы` VARCHAR(10) NOT NULL,
  141. `Номер студента` VARCHAR(3) NOT NULL,
  142. `Наименование студента` TEXT(50) DEFAULT NULL,
  143. `Проходной балл` VARCHAR(50) DEFAULT NULL,
  144. PRIMARY KEY (`Номер группы`,`Номер студента`),
  145. FOREIGN KEY (`Номер студента`) REFERENCES Успеваемость(`Номер студента`),
  146. FOREIGN KEY (`Номер группы`) REFERENCES Успеваемость(`Номер группы`)
  147. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  148. /*!40101 SET character_set_client = @saved_cs_client */;
  149. --
  150. -- Dumping data for table `студент`
  151. --
  152. LOCK TABLES `студент` WRITE;
  153. /*!40000 ALTER TABLE `студент` DISABLE KEYS */;
  154. /*!40000 ALTER TABLE `студент` ENABLE KEYS */;
  155. UNLOCK TABLES;
  156. --
  157. -- Table structure for table `успеваемость`
  158. --
  159. DROP TABLE IF EXISTS `успеваемость`;
  160. /*!40101 SET @saved_cs_client = @@character_set_client */;
  161. /*!40101 SET character_set_client = utf8 */;
  162. CREATE TABLE `успеваемость` (
  163. `Номер записи` INT(11) NOT NULL,
  164. `Номер группы` VARCHAR(10) DEFAULT NULL,
  165. `Номер студента` VARCHAR(3) DEFAULT NULL,
  166. `Код предмета` VARCHAR(3) DEFAULT NULL,
  167. `Табельный номер` VARCHAR(3) DEFAULT NULL,
  168. `Код занятия` INT(11) DEFAULT NULL,
  169. `Дата занятия` datetime DEFAULT NULL,
  170. `Балл` INT(11) DEFAULT NULL,
  171. PRIMARY KEY (`Номер записи`)
  172. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  173. /*!40101 SET character_set_client = @saved_cs_client */;
  174. --
  175. -- Dumping data for table `успеваемость`
  176. --
  177. LOCK TABLES `успеваемость` WRITE;
  178. /*!40000 ALTER TABLE `успеваемость` DISABLE KEYS */;
  179. /*!40000 ALTER TABLE `успеваемость` ENABLE KEYS */;
  180. UNLOCK TABLES;
  181. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  182. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  183. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  184. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  185. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  186. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  187. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  188. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  189. -- Dump completed on 2017-06-20 15:08:04

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

textual
Листинг программы
  1. /*!40101 SET character_set_client = utf8 */;
  2. CREATE TABLE `кафедра` (
  3.   `Код кафедры` varchar(3) NOT NULL,
  4.   `Название кафедры` varchar(20) DEFAULT NULL,
  5.   PRIMARY KEY (`Код кафедры`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  7.  
  8. /*!40101 SET character_set_client = utf8 */;
  9. CREATE TABLE `предмет` (
  10.   `Код предмета` varchar(10) NOT NULL,
  11.   `Название предмета` varchar(30) DEFAULT NULL,
  12.   `Число часов` int(11) DEFAULT NULL,
  13.   `Аудиторные занятия` int(11) DEFAULT NULL,
  14.   `Самостоятельная работа` int(11) DEFAULT NULL,
  15.   `Номер семестра` int(11) DEFAULT NULL,
  16.   `Код формы контроля` int(11) DEFAULT NULL,
  17.   PRIMARY KEY (`Код предмета`)
  18. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  19.  
  20. /*!40101 SET character_set_client = utf8 */;
  21. CREATE TABLE `группа` (
  22.   `Номер группы` varchar(10) NOT NULL,
  23.   `Количество студентов` int(11) DEFAULT NULL,
  24.   `Проходной балл` int(11) DEFAULT NULL,
  25.   PRIMARY KEY (`Номер группы`)
  26. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  27.  
  28. /*!40101 SET character_set_client = utf8 */;
  29. CREATE TABLE `преподаватель` (
  30.   `Табельный номер` varchar(3) NOT NULL,
  31.   `Наименование преподавателя` varchar(30) DEFAULT NULL,
  32.   `Код кафедры` varchar(3) DEFAULT NULL,
  33.   `Ученая степень` varchar(5) DEFAULT NULL,
  34.   `Ученое звание` varchar(10) DEFAULT NULL,
  35.   `Должность` varchar(10) DEFAULT NULL,
  36.   PRIMARY KEY (`Табельный номер`),  
  37.   FOREIGN KEY (`Код кафедры`) REFERENCES `кафедра`(`Код кафедры`)
  38. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  39.  
  40. /*!40101 SET character_set_client = utf8 */;
  41. CREATE TABLE `студент` (
  42.   `Номер группы` varchar(10) NOT NULL,
  43.   `Номер студента` varchar(3) NOT NULL,
  44.   `Наименование студента` TEXT(50) DEFAULT NULL,
  45.   `Проходной балл` varchar(50) DEFAULT NULL,
  46.   PRIMARY KEY (`Номер группы`,`Номер студента`),
  47.   FOREIGN KEY (`Номер группы`) REFERENCES `группа`(`Номер группы`)
  48. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  49.  
  50. /*!40101 SET character_set_client = utf8 */;
  51. CREATE TABLE `изучение` (
  52.   `Номер группы` varchar(10) NOT NULL,
  53.   `Код предмета` varchar(3) NOT NULL,
  54.   `Табельный номер` varchar(3) NOT NULL,
  55.   `Код занятия` int(11) NOT NULL,
  56.   `Число часов` int(11) DEFAULT NULL,
  57.   PRIMARY KEY (`Номер группы`,`Код предмета`,`Табельный номер`,`Код занятия`),
  58.   FOREIGN KEY (`Код предмета`) REFERENCES `предмет`(`Код предмета`),
  59.   FOREIGN KEY (`Табельный номер`) REFERENCES `преподаватель`(`Табельный номер`),
  60.   FOREIGN KEY (`Номер группы`) REFERENCES `группа`(`Номер группы`)
  61. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  62.  
  63. /*!40101 SET character_set_client = utf8 */;
  64. CREATE TABLE `успеваемость` (
  65.   `Номер записи` int(11) NOT NULL,
  66.   `Номер группы` varchar(10) DEFAULT NULL,
  67.   `Номер студента` varchar(3) DEFAULT NULL,
  68.   `Код предмета` varchar(3) DEFAULT NULL,
  69.   `Табельный номер` varchar(3) DEFAULT NULL,
  70.   `Код занятия` int(11) DEFAULT NULL,
  71.   `Дата занятия` datetime DEFAULT NULL,
  72.   `Балл` int(11) DEFAULT NULL,
  73.   PRIMARY KEY (`Номер записи`),
  74.   FOREIGN KEY (`Номер группы`) REFERENCES `изучение`(`Номер группы`),
  75.   FOREIGN KEY (`Номер группы`) REFERENCES `студент`(`Номер группы`),
  76.   FOREIGN KEY (`Номер студента`) REFERENCES `студент`(`Номер студента`),
  77.   FOREIGN KEY (`Код предмета`) REFERENCES `изучение`(`Код предмета`),
  78.   FOREIGN KEY (`Табельный номер`) REFERENCES `изучение`(`Табельный номер`),
  79.   FOREIGN KEY (`Код занятия`) REFERENCES `изучение`(`Код занятия`)
  80. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут