|
|
|
Проблема с foreign key в Yaffil 885
|
|||
|---|---|---|---|
|
#18+
помогите разобраться с такой ситуацией: есть таблицы 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, хотя все другие транзакции их видят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2004, 05:56:24 |
|
||
|
Проблема с foreign key в Yaffil 885
|
|||
|---|---|---|---|
|
#18+
>ibexpert его автоматом подставил Каким автоматом ? Какое значение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2004, 09:47:04 |
|
||
|
Проблема с foreign key в Yaffil 885
|
|||
|---|---|---|---|
|
#18+
при вставке записи на поле paymentid ibexpert открывает таблицу payments_tab, где я могу выбирать любую запись и значение поля id выбранной записи таблицы payments_tab автоматически подставляеться в поле paymentid таблицы remittance_list_tab. таким образом в таблицу remittance_list_tab вставляется запись с существующим значением для ограничения FK_REMITTANCE_LIST_TAB_PAYM, но оно почему-то выдает ошибку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2004, 11:04:50 |
|
||
|
Проблема с foreign key в Yaffil 885
|
|||
|---|---|---|---|
|
#18+
Попробуй не автоматом, а руками. Если руками проходит, значит автомат со спиленным бойком...:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2004, 11:27:05 |
|
||
|
Проблема с foreign key в Yaffil 885
|
|||
|---|---|---|---|
|
#18+
руками, а точнее в программе не проходит тоже, но я сначала грешил на то, что транзакция не видит данные из другой таблицы или эти данные просто отсутсвуют... однако дело не в транзакции и нужные данные присутсвуют... в базе есть еще таблицы где внешних ключей поболее будет и там такого "бага" не выходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2004, 12:01:06 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32630721&tid=1578162]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
407ms |
get topic data: |
17ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 674ms |

| 0 / 0 |
