Получение ошибок MySQL при обращении к существующей таблице - PullRequest
1 голос
/ 29 марта 2019

Я пытаюсь создать несколько очень простых таблиц, одна из которых имеет отношение FK к другой.Но MySQL не распознает правильно созданную таблицу, которая существует.Я на MacOS 10.14, и использовал DMG для MySQLWorkBench и MySQL Community Server v8

Уже предпринятые шаги: -Stop / restart MySQL через MySQLWorkBench -Stop / restart MySQL через системные настройки MacOS -Drop таблицы -Drop DB-Run mysqlcheck -четверная проверка всех написаний / падежей -реконфигурирование структур запросов для пошагового выполнения

/* Creating the building_t table */

CREATE TABLE building_t (
  buildingkey VARCHAR(10), 
  buildingname VARCHAR(50), 
  buildingaddress VARCHAR(150), 
  buildingcity VARCHAR(50), 
  buildingstate VARCHAR(2), 
  buildingzipcode INT, 
  buildingmanagerphone INT, 
  PRIMARY KEY (buildingkey)
  );

RESULT:

16: 43: 17 CREATE TABLEbuilding_t (buildingkey VARCHAR (10),
buildingname VARCHAR (50), адрес здания VARCHAR (150),
buildingcity VARCHAR (50), buildingstate VARCHAR (2),
buildingzipcode INT, buildingmanagerphone INT, ПЕРВИЧНЫЙ КЛЮЧ (buildingkey)) 0 строк затронуто 0,0083 сек

СЛЕДУЮЩИЙ ШАГ:

/* Creating the apartment_t table */
CREATE TABLE apartment_t (
  apartmentkey VARCHAR(10), 
  apartmentrooms VARCHAR(50), 
  buildingkey VARCHAR(10), 
  PRIMARY KEY (apartmentkey),
  FOREIGN KEY (buildingkey) REFERENCES building_t(buildingkey)
  );

РЕЗУЛЬТАТ:

16: 45: 44 CREATE TABLE apartment_t (многоквартирный ключ VARCHAR (10),
многоквартирные комнаты VARCHAR (50), строительный ключ VARCHAR (10), первичный ключ (квартирный ключ), иностранный ключ (строительный ключ))) ) Код ошибки: 1824. Не удалось открыть ссылочную таблицу 'building_t' 0,00069 сек

СЛЕДУЮЩИЙ ШАГ:

/* Change the apartment_t create statement to remove FK */
CREATE TABLE apartment_t (
  apartmentkey VARCHAR(10), 
  apartmentrooms VARCHAR(50), 
  buildingkey VARCHAR(10), 
  PRIMARY KEY (apartmentkey)
  );

РЕЗУЛЬТАТ:

16: 47: 13 CREATE TABLE apartment_t (многоквартирный ключ VARCHAR (10),
многоквартирные комнаты VARCHAR (50), строительный ключ VARCHAR (10), ПЕРВИЧНЫЙ КЛЮЧ (ключ от квартиры)) 0 затронутые строки0,0077 с

СЛЕДУЮЩИЙ ШАГ:

/*alter the apartment_t table to add the FK after the fact */
alter table apartment_t ADD FOREIGN KEY (buildingkey) REFERENCES building_t(buildingkey)

РЕЗУЛЬТАТ:

16: 48:09 alter table apartment_t ДОБАВИТЬ FOREIGN KEY (buildingkey) ССЫЛКИ building_t (buildingkey) Код ошибки: 1146. Таблица 'wildwood.apartment_t' не существует 0.0011 сек

Ни одна из этих проблем не должна возникать, так каквсе форматирование правильное.Обратите внимание, что когда я пытаюсь сослаться в операторе CREATE TABLE, ошибка «не удалось открыть ...», но в операторе ALTER TABLE говорится, что изменяемая таблица не существует.

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