powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с foreign key в Yaffil 885
5 сообщений из 5, страница 1 из 1
Проблема с foreign key в Yaffil 885
    #32630721
gelios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите разобраться с такой ситуацией:
есть таблицы

CREATE TABLE PAYMENTS_TAB (
ID TID_BINT NOT NULL /* TID_BINT = BIGINT NOT NULL */,
ACCOUNTID TID_BINT NOT NULL /* TID_BINT = BIGINT NOT NULL */,
INCOMEDATE TDATE NOT NULL /* TDATE = DATE */,
SUMMA TSUMMA NOT NULL /* TSUMMA = __NMONEY(2) default 0 */,
SUMMA_YE TSUMMAYE NOT NULL /* TSUMMAYE = DOUBLE PRECISION DEFAULT 0 */,
PAYORDERID TID_BINT_NULL /* TID_BINT_NULL = BIGINT */,
OPTYPE CHAR1 NOT NULL /* CHAR1 = CHAR(1) */,
COMMENTS TNAME255 /* TNAME255 = VARCHAR(255) */,
MT_LIST_ID TID_BINT_NULL /* TID_BINT_NULL = BIGINT */,
COMMISSION TSUMMA DEFAULT 0 /* TSUMMA = __NMONEY(2) default 0 */,
PREV_ID TID_BINT_NULL /* TID_BINT_NULL = BIGINT */
);

/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/

ALTER TABLE PAYMENTS_TAB ADD CONSTRAINT PK_PAYMENTS_TAB PRIMARY KEY (ID);

/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/

ALTER TABLE PAYMENTS_TAB ADD CONSTRAINT FK_PAYMENTS_TAB_ACCOUNTID FOREIGN KEY (ACCOUNTID) REFERENCES CONTRACTS_TAB (ID);
ALTER TABLE PAYMENTS_TAB ADD CONSTRAINT FK_PAYMENTS_TAB_MT_LIST_ID FOREIGN KEY (MT_LIST_ID) REFERENCES MT102_LIST_TAB (ID);
ALTER TABLE PAYMENTS_TAB ADD CONSTRAINT FK_PAYMENTS_TAB_OPTYPE FOREIGN KEY (OPTYPE) REFERENCES OPERATS_PAY_TAB (ID);
ALTER TABLE PAYMENTS_TAB ADD CONSTRAINT FK_PAYMENTS_TAB_PREV_ID FOREIGN KEY (PREV_ID) REFERENCES PAYMENTS_TAB (ID);


и

CREATE TABLE REMITTANCE_LIST_TAB (
ID TID NOT NULL /* TID = NUMERIC(18,3) NOT NULL */,
REMITTANCE TID /* TID = NUMERIC(18,3) NOT NULL */,
CONTRACT TID_BINT /* TID_BINT = BIGINT NOT NULL */,
PAYMENTID TID_BINT_NULL /* TID_BINT_NULL = BIGINT */,
STATUS CHAR1 DEFAULT '0' /* CHAR1 = CHAR(1) */,
DELETED CHAR1 DEFAULT '0' /* CHAR1 = CHAR(1) */,
RET_REASON TNAME255 /* TNAME255 = VARCHAR(255) */,
LETTER_NUM TNAME16 /* TNAME16 = VARCHAR(16) */,
LETTER_DATE TDATE /* TDATE = DATE */,
ERR_REASON TNAME255 /* TNAME255 = VARCHAR(255) */,
OPERATOR TID_INT NOT NULL /* TID_INT = INTEGER NOT NULL */,
CHANGEFIELD CHAR1 /* CHAR1 = CHAR(1) */
);




/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/

ALTER TABLE REMITTANCE_LIST_TAB ADD CONSTRAINT PK_REMITTANCE_LIST_TAB PRIMARY KEY (ID);


/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/

ALTER TABLE REMITTANCE_LIST_TAB ADD CONSTRAINT FK_REMITTANCE_LIST_TAB_CONT FOREIGN KEY (CONTRACT) REFERENCES CONTRACTS_TAB (ID);
ALTER TABLE REMITTANCE_LIST_TAB ADD CONSTRAINT FK_REMITTANCE_LIST_TAB_PAYM FOREIGN KEY (PAYMENTID) REFERENCES PAYMENTS_TAB (ID);
ALTER TABLE REMITTANCE_LIST_TAB ADD CONSTRAINT FK_REMITTANCE_LIST_TAB_REMI FOREIGN KEY (REMITTANCE) REFERENCES REMITTANCE_REG_TAB (ID);


пытаюсь вставить запись в таблицу remittance_list_tab, при этом в других таблицах все нужные данные есть (запись вставляю ручками в ibexperte) когда делаю пост то сервер выдает ошибку violation of foregin key "FK_REMITTANCE_LIST_TAB_PAYM" on table remittance_list_tab хотя то значение, которое я хочу вставить есть в таблице payments_tab (ibexpert его автоматом подставил), при этом null значения естественно проходят на ура. думаю сначала вставлю запись с пустым полем paimentid а потом укажу значение - все равно та же ошибка, как будто сервер не видит данные из таблицы payments_tab, хотя все другие транзакции их видят.
...
Рейтинг: 0 / 0
Проблема с foreign key в Yaffil 885
    #32630854
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ibexpert его автоматом подставил

Каким автоматом ?
Какое значение ?
...
Рейтинг: 0 / 0
Проблема с foreign key в Yaffil 885
    #32630968
gelios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при вставке записи на поле paymentid ibexpert открывает таблицу payments_tab, где я могу выбирать любую запись и значение поля id выбранной записи таблицы payments_tab автоматически подставляеться в поле paymentid таблицы remittance_list_tab. таким образом в таблицу remittance_list_tab вставляется запись с существующим значением для ограничения FK_REMITTANCE_LIST_TAB_PAYM, но оно почему-то выдает ошибку...
...
Рейтинг: 0 / 0
Проблема с foreign key в Yaffil 885
    #32631021
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй не автоматом, а руками.
Если руками проходит, значит автомат со спиленным бойком...:)
...
Рейтинг: 0 / 0
Проблема с foreign key в Yaffil 885
    #32631121
gelios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
руками, а точнее в программе не проходит тоже, но я сначала грешил на то, что транзакция не видит данные из другой таблицы или эти данные просто отсутсвуют... однако дело не в транзакции и нужные данные присутсвуют...
в базе есть еще таблицы где внешних ключей поболее будет и там такого "бага" не выходит...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с foreign key в Yaffil 885
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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