|
PRIMARY KEY, FOREIGN KEY
|
|||
---|---|---|---|
#18+
Добрый день. Только начал изучать 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 Не могу понять, как тогда делать связь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 14:47 |
|
PRIMARY KEY, FOREIGN KEY
|
|||
---|---|---|---|
#18+
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? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 19:29 |
|
|
start [/forum/topic.php?fid=47&fpage=2&tid=1827813]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 347ms |
0 / 0 |