powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Cannot add foreign key constraint
5 сообщений из 5, страница 1 из 1
Cannot add foreign key constraint
    #39153288
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!

При попытки залить схему возникает ошибка
авторERROR: Error 1215: Cannot add foreign key constraint
Никак не пойму, где причина. Сначала на ON DELETE стоял CASCADE, но ошибка та же вылетала. Все типы внешних ключей соответствуют родительским.


Код: 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.
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.
-- MySQL Workbench Forward Engineering

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';

-- -----------------------------------------------------
-- Schema atm_db
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `atm_db` ;

-- -----------------------------------------------------
-- Schema atm_db
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `atm_db` DEFAULT CHARACTER SET utf8 ;
USE `atm_db` ;

-- -----------------------------------------------------
-- Table `atm_db`.`weekdays`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `atm_db`.`weekdays` ;

CREATE TABLE IF NOT EXISTS `atm_db`.`weekdays` (
  `weekday_id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
  `weekday_name` CHAR(2) NOT NULL,
  PRIMARY KEY (`weekday_id`),
  UNIQUE INDEX `weekday_name_UNIQUE` (`weekday_name` ASC))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `atm_db`.`weekperiods`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `atm_db`.`weekperiods` ;

CREATE TABLE IF NOT EXISTS `atm_db`.`weekperiods` (
  `weekperiod_id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
  `weekday_from` TINYINT(3) NOT NULL,
  `weekday_to` TINYINT(3) NOT NULL,
  PRIMARY KEY (`weekperiod_id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `atm_db`.`weekperiods_days`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `atm_db`.`weekperiods_days` ;

CREATE TABLE IF NOT EXISTS `atm_db`.`weekperiods_days` (
  `weekperiod_day_id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
  `weekday_id` TINYINT(3) NOT NULL,
  `weekperiod_id` TINYINT(3) NOT NULL,
  PRIMARY KEY (`weekperiod_day_id`),
  INDEX `fk_weekperiods_days_weekdays_idx` (`weekday_id` ASC),
  INDEX `fk_weekperiods_days_weekperiods1_idx` (`weekperiod_id` ASC),
  CONSTRAINT `fk_weekperiods_days_weekdays`
    FOREIGN KEY (`weekday_id`)
    REFERENCES `atm_db`.`weekdays` (`weekday_id`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT,
  CONSTRAINT `fk_weekperiods_days_weekperiods1`
    FOREIGN KEY (`weekperiod_id`)
    REFERENCES `atm_db`.`weekperiods` (`weekperiod_id`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
...
Рейтинг: 0 / 0
Cannot add foreign key constraint
    #39153292
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.Все типы внешних ключей соответствуют родительским.Нет, не соответствуют. UNSIGNED потерялся.
...
Рейтинг: 0 / 0
Cannot add foreign key constraint
    #39153294
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя FK идёт ПОСЛЕ FOREIGN KEY, а не после CONSTRAINT.
http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
...
Рейтинг: 0 / 0
Cannot add foreign key constraint
    #39153416
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaИмя FK идёт ПОСЛЕ FOREIGN KEY, а не после CONSTRAINT.
http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html Это не совсем так )

Почитайте повнимательнее.
...
Рейтинг: 0 / 0
Cannot add foreign key constraint
    #39153447
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftPim.Все типы внешних ключей соответствуют родительским.Нет, не соответствуют. UNSIGNED потерялся.

Точно! Спасибо большое!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Cannot add foreign key constraint
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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