Firebird 2.5向现有表插入行

时间:2018-03-23 08:20:21

标签: sql database insert firebird2.5

我在Firebird 2.5数据库中有表TABLE1并希望插入多行。

脚本:

INSERT INTO TABLE1 (ID, IDPREDEK, ICO, DIC, FIRMA, MISTO, ULICE, PSC, CISSML, CISEVID, PLATOD, PLATDO, JMENO, PRIJMENI, TITUL, FUNKCE, TELEFON, TELEFON2, FAX, EMAIL, ODP_JMENO, ODP_PRIJMENI, ODP_TITUL, ODP_FUNKCE, ODP_TELEFON, ODP_TELEFON2, ODP_FAX, ODP_EMAIL, D_INIDOP, D_INISETR, D_KATPRAC, POCETMUZI, POCETZENY, HASCHILD, HASCHILD1, HASCHILD2, POZNAMKA) 
VALUES (91, 89, NULL, NULL, 'CLY0010702 - PHM-LPH_DEPO / PRG/RSM/FSB/PHM', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL);

问题是这个错误:

Error while importing to table TABLE1:
Engine Error (code = 335544665)
violation of PRIMARY or UNIGUE KEY constraint
"PK_TABLE1" on table "FIRMY".
Problematic key value is ("ID=95).
SQL Error (code= -803):
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.

在TABLE1中是最后一个ID号94,我没有两个ID为95的相同行。

任何想法该怎么做?

2 个答案:

答案 0 :(得分:1)

检查是您的insert into()身份。如果是这样,请将其从values()tsc -p中删除。

答案 1 :(得分:0)

我找到了解决方案,替换ID:

... VALUES (GEN_ID(GEN_TABLE1 , 1), 91, NULL, NULL, ...