powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / PRIMARY KEY, FOREIGN KEY
2 сообщений из 2, страница 1 из 1
PRIMARY KEY, FOREIGN KEY
    #40128098
Bereendei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Только начал изучать MySQL, пробую написать скрипт создании БД.

DROP TABLE IF EXISTS country; -- страны
CREATE TABLE country (
id_country SERIAL PRIMARY KEY COMMENT 'ID страны',
name VARCHAR(120) NOT NULL COMMENT 'Название страны'
);
DROP TABLE IF EXISTS city; -- города
CREATE TABLE city (
id_city SERIAL PRIMARY KEY COMMENT 'ID города',
country_id BIGINT UNSIGNED NOT NULL COMMENT 'ID страны',
name_city VARCHAR(120) NOT NULL COMMENT 'название города',
FOREIGN KEY (country_id) REFERENCES country(id_country)
);
И пробую заполнить её на http://filldb.info/ . При заполнении таблицы (city) выдаёт ошибку:

The parameters for foreighKey function are invalid, table: [country] or field: [id] is invalid

Не могу понять, как тогда делать связь ?
...
Рейтинг: 0 / 0
PRIMARY KEY, FOREIGN KEY
    #40128202
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOREIGN KEY - это правило контроля данных.

CREATE TABLE city ( ... FOREIGN KEY (country_id) REFERENCES country(id_country) ... говорит следующее - значение, которое вставляется в поле country_id таблицы city, должно присутствовать в поле id_country таблицы country.

Возникающая у тебя ошибка говорит о том, что это правило для вставляемой записи не выполняется.

Так что сначала нужно генерировать данные в таблице country, и только потом в city, причём в поле city.country_id можно вставлять только существующие в country.id_country значения.

PS. Конструкция SERIAL PRIMARY KEY создаёт два дубликата индекса по полю. Один (который UNIQUE) следует удалить.

PPS. А чем тебе не подходит БД world, входящая в examples стандартной поставки MySQL?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / PRIMARY KEY, FOREIGN KEY
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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