Не получаетса создать вторичные ключи.

Помогите пожалуйста, это моя 1 база даных и не получаетса создать вторичные ключи с помощью ''ALTER TABLE '' мне нужно соединить (size_rod_id) с (size_n) та (size_g)

CREATE TABLE rod (
Id_rod INTEGER NOT NULL Primary Key,
Id¬_oblast INTEGER REFERENCES oblast (id_oblast),
name VARCHAR(80) NOT NULL,
adresa VARCHAR(80) NOT NULL,
size_n VARCHAR(80) NULL,
size_g VARCHAR(80) NOT NULL,
year_open INTEGER NOT NULL,
year_of_development INTEGER NOT NULL
);

CREATE TABLE size_rod (
size_rod_id INTEGER NOT NULL Primary Key,
size_rod VARCHAR (80) NOT NULL
);

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Пишите, что делали, какие

Пишите, что делали, какие ошибки получили.
И видимо речь идёт не о вторичных ключах, а обо внешних (FOREIGN KEY)
Ну и почитайте материальчик, может и вопросы отпадут:
http://postgresql.ru.net/manual/ddl-constraints.html#DDL-CONSTRAINTS-FK

Да, внешних

Да, внешних ключах
вводил:
ALTER TABLE size_rod ADD CONSTRAINT cs_size_rod FOREIGN KEY (size_rod_id) REFERENCES rod(size_n);

ОШИБКА: в целевой внешней таблице "rod" нет ограничения уникальности, соответствующего данным ключам
SQL-состояние: 42830

Вроде бы всё понятно в самом

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

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023