powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Создание ключей в ibexpert
12 сообщений из 12, страница 1 из 1
Создание ключей в ibexpert
    #36605630
Aleksandr_V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста с созданием ключей в firebird. Использую ibexpert.

Поля типа integer. Связь с внешней таблицей DEVICES.

alter table DICT_DEVICES
add constraint FK_DICT_DEVICES_1
foreign key (ID_DEV_TOTAL)
references DEVICES(ID_DEVICE)
on delete CASCADE
on update CASCADE

После выполнения скрипта, выходит ошибка:

This operation is not defined for system tables.
unsuccessful metadata update.
Unknown columns in index FK_DICT_DEVICES_1.

Непонимаю почему упоминаются системные таблицы.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36605653
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr_VНепонимаю почему упоминаются системные таблицы.

Потому что "унутре" всё делается через них.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36605656
Murtaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr_VНепонимаю почему упоминаются системные таблицы.Можешь не обращать внимания. :)

Код: plaintext
Unknown columns in index FK_DICT_DEVICES_1.
Это надо смотреть тебе.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606120
Aleksandr_V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[/quot]Можешь не обращать внимания. :)

Код: plaintext
Unknown columns in index FK_DICT_DEVICES_1.
Это надо смотреть тебе.[/quot]

С индексами разобрался. Но теперь почему то:

could not find UNIQUE or PRIMARY KEY constraint in table DEVICES with specified columns.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606125
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr_V
could not find UNIQUE or PRIMARY KEY constraint in table DEVICES with
specified columns.

И какое слово тут тебе непонятно? ID_DEVICE является первичным ключом?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606181
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr_V,

всё определяется последовательностью действий:
1) пересоздаёте ДОЧЕРНЮЮ таблицу
2) пересоздаёте ГЛАВНУЮ таблицу с объявлением одного из столбцов как not null
3) создаете ПК для главной таблицы
4) создаете внешний ключ в дочерней таблице, ссылающийся на главную.

Вот скрипт, запускайте его произвольное число раз, он будет выполняться Ок:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
recreate table dict_devices(id int, id_dev_total int);
recreate table devices(id_device int not null, info varchar( 20 ));
alter table devices add constraint pk_device primary key(id_device);
alter table dict_devices add constraint fk_dict_devices_1
foreign key (id_dev_total) references devices(id_device)
on delete CASCADE on update CASCADE;

insert into devices values( 1 , 'abc');
insert into devices values( 2 , 'def');
insert into devices values( 3 , 'was');

insert into dict_devices values( 1 , 1 );
insert into dict_devices values( 2 , 1 );
insert into dict_devices values( 3 , 1 );
insert into dict_devices values( 4 , 1 );
insert into dict_devices values( 5 , 2 );
insert into dict_devices values( 6 , 2 );
insert into dict_devices values( 7 , 3 );
insert into dict_devices values( 8 , 3 );
insert into dict_devices values( 9 , 1 );
commit;
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606308
Aleksandr_V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Aleksandr_V
could not find UNIQUE or PRIMARY KEY constraint in table DEVICES with
specified columns.

И какое слово тут тебе непонятно? ID_DEVICE является первичным ключом?


мне не понятно почему не найдено поле с уникальными значениями. Да. ID_DEVICE является первичным ключом.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606319
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AVforeign key (ID_DEV_TOTAL)
references DEVICES(ID_DEVICE)

кстати, ужасно. всегда надо указывать constraint <имя_ограничения> ..., иначе потом его придется с фонариком искать, т.к. если имя ограничения не указано, то оно автогенерируется.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606331
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr_VДа. ID_DEVICE является первичным ключом.

Это ты так думаешь. А у сервера другое мнение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606332
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Указано.
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606334
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я про kdv...надо указывать constraint <имя_ограничения> ..., иначе...
...
Рейтинг: 0 / 0
Создание ключей в ibexpert
    #36606382
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextManУказано.
да, просмотрел, из-за "форматирования". Впрочем, ПК действительно не видно.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Создание ключей в ibexpert
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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