Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка импорта Mysql(Workbench) / 6 сообщений из 6, страница 1 из 1
16.09.2014, 12:29:46
    #38747714
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
Всем привет!
В workbench спроектировал схему, сделал экспрорт в sql, далее пытаюсь импортнуть на рабочий сервак получаю ошибку:

авторDump file not found: File /Users/it/dumps/export.sql doesn't exist
02:13:59 Restoring /Users/it/Desktop/register/mysql_register.sql
Running: /Applications/MySQLWorkbench.app/Contents/MacOS/mysql --defaults-extra-file="/var/folders/1d/kdj9j82x2gj_7d8z3frplph00000gn/T/tmpRQYoKF/extraparams.cnf" --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=register < "/Users/it/Desktop/register/mysql_register.sql"
ERROR 1215 (HY000) at line 251: Cannot add foreign key constraint

Operation failed with exitcode 1
02:14:01 Import of /Users/it/Desktop/register/mysql_register.sql has finished with 1 errors


Код: sql
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.
Строка 251: CREATE TABLE IF NOT EXISTS `register`.`Register` (
  `WareID` INT NOT NULL,
  `UnitID` INT NOT NULL,
  `Quantity` INT NOT NULL,
  `OperationID` INT NOT NULL,
  `CostID` INT NOT NULL,
  `ToStockID` INT NOT NULL,
  `FromStockID` INT NOT NULL,
  PRIMARY KEY (`WareID`, `UnitID`, `OperationID`, `CostID`, `ToStockID`, `FromStockID`),
  INDEX `WareIdToWaresID_idx` (`WareID` ASC),
  INDEX `UnitIDTOUnits_idx` (`UnitID` ASC),
  INDEX `OperationsIDtoOperations_idx` (`OperationID` ASC),
  INDEX `CostIDtoCostID_idx` (`CostID` ASC),
  INDEX `ToStockIDINSTOCK_idx` (`ToStockID` ASC),
  INDEX `FromStockIDINSTOCK_idx` (`FromStockID` ASC),
  CONSTRAINT `WareIdToWaresID`
    FOREIGN KEY (`WareID`)
    REFERENCES `register`.`Wares` (`WareID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `UnitIDTOUnits`
    FOREIGN KEY (`UnitID`)
    REFERENCES `register`.`Units` (`UnitID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `OperationsIDtoOperations`
    FOREIGN KEY (`OperationID`)
    REFERENCES `register`.`Operations` (`OperationID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `CostIDtoCostID`
    FOREIGN KEY (`CostID`)
    REFERENCES `register`.`Cost` (`CostID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `ToStockIDINSTOCK`
    FOREIGN KEY (`ToStockID`)
    REFERENCES `register`.`Stock` (`ToStockID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `FromStockIDINSTOCK`
    FOREIGN KEY (`FromStockID`)
    REFERENCES `register`.`Stock` (`FromStockID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


Где ошибся?
...
Рейтинг: 0 / 0
16.09.2014, 12:37:00
    #38747727
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
Dr.HofmannГде ошибся?Где-то за пределами показанного кода.
По какой-то причине не удалось создать внешний ключ на другую таблицу. Возможно, таблица еще не существует.
Если в скрипте порядок создания таблиц не соответствует порядку внешних ключей, то зачастую применяют временное выключение внешних ключей. См. foreign_key_checks .
...
Рейтинг: 0 / 0
16.09.2014, 12:51:40
    #38747759
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
автор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';


авторSetting foreign_key_checks to 0 also affects data definition statements: DROP SCHEMA drops a schema even if it contains tables that have foreign keys that are referred to by tables outside the schema, and DROP TABLE drops tables that have foreign keys that are referred to by other tables.

Вроде бы логично если дропает схему, дропает таблицу при заначении foreign_key_checks = 0 если она создана, или что-то забыл?

авторNote
Setting foreign_key_checks to 1 does not trigger a scan of the existing table data. Therefore, rows added to the table while foreign_key_checks = 0 will not be verified for consistency.


Строки пока не добавлял но в этот случае подходит 1 как я понял для проверки значения в foreign key со значением экземпляра в строке таблице на которую ссылается?
...
Рейтинг: 0 / 0
16.09.2014, 13:10:18
    #38747812
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
Dr.HofmannВроде бы логично если дропает схему, дропает таблицу при заначении foreign_key_checks = 0 если она создана, или что-то забыл?Слова вроде более-менее русские, но смысла не понимаю.

У вас foreign_key_checks выключается на время создания таблиц и внешних ключей?
...
Рейтинг: 0 / 0
16.09.2014, 13:22:09
    #38747829
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
авторУ вас foreign_key_checks выключается на время создания таблиц и внешних ключей?


SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
Да, исходя из этой строки.
...
Рейтинг: 0 / 0
16.09.2014, 13:26:05
    #38747834
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка импорта Mysql(Workbench)
авторDump file not found: File /Users/it/dumps/export.sql doesn't existА это как тут оказалось? Причем тут этот файл?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка импорта Mysql(Workbench) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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