Помогите пожалуйста, это моя 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
Вроде бы всё понятно в самом
Вроде бы всё понятно в самом сообщении, нет?
Если нет, то внешний ключ можно создать только на уникальное поле другой таблицы, обычно внешние ключи создают на первичном ключе соответствующей таблицы.