Я пытаюсь создать несколько очень простых таблиц, одна из которых имеет отношение 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 говорится, что изменяемая таблица не существует.