Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121) / 4 сообщений из 4, страница 1 из 1
23.12.2014, 10:57:09
    #38840303
snajper.ro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
   -- MySQL Workbench Synchronization
-- Generated: 2014-12-23 10:55
-- Model: New Model
-- Version: 1.0
-- Project: Name of the project
-- Author: ro

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

CREATE TABLE IF NOT EXISTS `mydb`.`university` (
  `iduniversity` INT(11) NOT NULL,
  `universityname` VARCHAR(45) NOT NULL,
  `universityaddress` VARCHAR(45) NULL DEFAULT NULL,
  PRIMARY KEY (`iduniversity`),
  UNIQUE INDEX `iduniversity_id_UNIQUE` (`iduniversity` ASC),
  UNIQUE INDEX `universityname_UNIQUE` (`universityname` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

CREATE TABLE IF NOT EXISTS `mydb`.`student` (
  `idstudent` INT(11) NOT NULL,
  `universityname` VARCHAR(45) NOT NULL,
  `departmentname` VARCHAR(45) NOT NULL,
  `facultyname` VARCHAR(45) NOT NULL,
  `studentfirstname` VARCHAR(45) NOT NULL,
  `studentsecondname` VARCHAR(45) NOT NULL,
  `studentaddress` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idstudent`),
  UNIQUE INDEX `idstudent_UNIQUE` (`idstudent` ASC),
  INDEX `idfaculty_idx` (`facultyname` ASC),
  INDEX `universityname_idx` (`universityname` ASC),
  INDEX `deparmentname_idx` (`departmentname` ASC),
  CONSTRAINT `universityname`
    FOREIGN KEY (`universityname`)
    REFERENCES `mydb`.`university` (`universityname`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `facultyname`
    FOREIGN KEY (`facultyname`)
    REFERENCES `mydb`.`faculty` (`facultyname`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `deparmentname`
    FOREIGN KEY (`departmentname`)
    REFERENCES `mydb`.`department` (`departmentname`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

CREATE TABLE IF NOT EXISTS `mydb`.`faculty` (
  `idfaculty` INT(11) NOT NULL,
  `facultyname` VARCHAR(45) NOT NULL,
  `universityname` VARCHAR(45) NULL DEFAULT NULL,
  PRIMARY KEY (`idfaculty`),
  INDEX `universatyname_idx` (`universityname` ASC),
  UNIQUE INDEX `idfaculty_UNIQUE` (`idfaculty` ASC),
  UNIQUE INDEX `facultyname_UNIQUE` (`facultyname` ASC),
  CONSTRAINT `universatyname`
    FOREIGN KEY (`universityname`)
    REFERENCES `mydb`.`university` (`universityname`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

CREATE TABLE IF NOT EXISTS `mydb`.`department` (
  `iddepartment` INT(11) NOT NULL,
  `universityname` VARCHAR(45) NOT NULL,
  `departmentname` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`iddepartment`),
  UNIQUE INDEX `iddepartment_UNIQUE` (`iddepartment` ASC),
  INDEX `universityname_idx` (`universityname` ASC),
  UNIQUE INDEX `departmentname_UNIQUE` (`departmentname` ASC),
  CONSTRAINT `universityname`
    FOREIGN KEY (`universityname`)
    REFERENCES `mydb`.`university` (`universityname`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;



А вот сама ошибка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Executing SQL script in server
ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121)
SQL Code:
        CREATE TABLE IF NOT EXISTS `mydb`.`department` (
          `iddepartment` INT(11) NOT NULL,
          `universityname` VARCHAR(45) NOT NULL,
          `departmentname` VARCHAR(45) NOT NULL,
          PRIMARY KEY (`iddepartment`),
          UNIQUE INDEX `iddepartment_UNIQUE` (`iddepartment` ASC),
          INDEX `universityname_idx` (`universityname` ASC),
          UNIQUE INDEX `departmentname_UNIQUE` (`departmentname` ASC),
          CONSTRAINT `universityname`
            FOREIGN KEY (`universityname`)
            REFERENCES `mydb`.`university` (`universityname`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB
        DEFAULT CHARACTER SET = utf8
        COLLATE = utf8_general_ci

SQL script execution finished: statements: 7 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch
...
Рейтинг: 0 / 0
23.12.2014, 11:37:37
    #38840379
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121)
гугл? не, не слышал...
http://stackoverflow.com/questions/12623651/error-error-1005-cant-create-table-errno-121 You will get this message if you're trying to add a constraint with a name that's already used somewhere else
...
Рейтинг: 0 / 0
23.12.2014, 16:15:19
    #38840787
snajper.ro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121)
За гугл конечно четко еще понять бы где ограничение, оказывается надо что бы название индексов внешний ключей были разные
...
Рейтинг: 0 / 0
23.12.2014, 16:55:01
    #38840880
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121)
snajper.ro, не "индексов внешних ключей" (что бы это ни значило), а ограничений(constraints). У вас есть
Код: sql
1.
2.
CREATE TABLE IF NOT EXISTS `mydb`.`student` (<...>
 CONSTRAINT `universityname`

, а потом вы пытаетесь создать
Код: sql
1.
2.
CREATE TABLE IF NOT EXISTS `mydb`.`department` (<...>
         CONSTRAINT `universityname`

Вообще-то это странно, неужели воркбенч сам даёт им одинаковые названия?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ERROR: Error 1005: Can't create table 'mydb.department' (errno: 121) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]