Невозможно создать таблицу `sakila`` адрес` "Неправильно сформировано ограничение внешнего ключа" - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь установить sakila db из mysql.com / doc / index-other.html и следовал инструкциям в sakila-installation.html , в которых говорится, что запустите схему ( / sakila-schema.sql ) сначала затем sakila-data.sql для вставки данных. Однако в тот момент, когда я запускаю схему с помощью механизма db, она завершает выполнение со следующей ошибкой:

 #1005 - Can't create table `sakila`.`address` (errno: 150 "Foreign key constraint is incorrectly formed") 

Вот несколько первых строк сценария схемы, который создает таблицы:

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

DROP SCHEMA IF EXISTS sisterst_sakila;
CREATE SCHEMA sisterst_sakila;
USE sisterst_sakila;
CREATE TABLE actor (
  actor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  first_name VARCHAR(45) NOT NULL,
  last_name VARCHAR(45) NOT NULL,
  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (actor_id),
  KEY idx_actor_last_name (last_name)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `address`
--

CREATE TABLE address (
  address_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  address VARCHAR(50) NOT NULL,
  address2 VARCHAR(50) DEFAULT NULL,
  district VARCHAR(20) NOT NULL,
  city_id SMALLINT UNSIGNED NOT NULL,
  postal_code VARCHAR(10) DEFAULT NULL,
  phone VARCHAR(20) NOT NULL,
  /*!50705 location GEOMETRY NOT NULL,*/
  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (address_id),
  KEY idx_fk_city_id (city_id),
  /*!50705 SPATIAL KEY `idx_location` (location),*/
  CONSTRAINT `fk_address_city` FOREIGN KEY (city_id) REFERENCES city (city_id) ON DELETE RESTRICT ON UPDATE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Я не вносил никаких изменений в скрипт db, в чем может быть проблема?

PS. Моя база данных Ver 15.1 Distrib 10.1.39-MariaDB, для Win64 (AMD64)

enter image description here

1 Ответ

0 голосов
/ 02 ноября 2019

Перед тем как вырезать и вставить phpmyadmin из файла sql, обязательно откройте файл с помощью noptepad ++, а не программы для Windows, такой как notepad.exe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...