powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Удаление внешнего ключа
4 сообщений из 4, страница 1 из 1
Удаление внешнего ключа
    #35083437
mr.Nikitos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица БД (InterBase):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE NEWS (
    ID           INTEGER NOT NULL PRIMARY KEY,
    NDATE        DATE NOT NULL,
    NTIME        TIME NOT NULL,
    ID_PROVIDER  INTEGER NOT NULL,
    NEW_NO       CHAR( 35 ) CHARACTER SET NONE,
    SUBJECT      BLOB SUB_TYPE  1  SEGMENT SIZE  80  CHARACTER SET NONE);
ALTER TABLE NEWS ADD FOREIGN KEY (ID_PROVIDER) REFERENCES PROVIDER (ID);

Нужно удалить внешний ключ, сохранив столбец со значениями.
Пытаюсь выполнить
Код: plaintext
alter table news delete foreign key id_provider
Получаю сообщение об ошибке:
Код: plaintext
1.
Token unknown - line 1, char 17.
delete.

Код: plaintext
alter table news drop constraint id_provider
тоже не работает
Код: plaintext
1.
2.
This operation is not defined for system tables.
unsuccessful metadata update.
CONSTRAINT ID_PROVIDER does not exist.
...
Рейтинг: 0 / 0
Удаление внешнего ключа
    #35083774
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Nikitos wrote:
>
> alter table news drop constraint id_provider
>
> тоже не работает

Должно быть:

alter table news drop constraint XXX;

Проблема у тебя в том, что id_provider -
Это не имя констрейнта. Если ты не даешь явно
имя констрейнта в CREATE/ALTER table, то СУБД
обычно генерируют его сами, тебе надо его узнать
и подставить. Как узнать - зависит от СУБД, которую
ты не указал.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление внешнего ключа
    #35083775
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Nikitos wrote:
> Есть таблица БД (InterBase):

Прошу прощения, СУБД не заметил.
Но как узнать имя констрейнта в IB я просто не знаю
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление внешнего ключа
    #35083881
mr.Nikitos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже доковырял до этого, всё верно: InterBase в случае, если имя ограничения не задано, присваивает его самостоятельно. В моем случае он выбрал имена INTEGxx (xx-число).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Удаление внешнего ключа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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