Начал писать проект на delphi при попытки выполнить sql код для добавления новой записи(Insert into) delphi выдал мне сообщение FIELD id MUST HAVE A VALUE. По какой то причине id перестал наращиватся. Хотя Тригер и Генератор для autoincrement есть и совсем недавно все было нормально.
| Код |
CREATE TABLE MACHINE_INFO ( ID INTEGER NOT NULL, NAME_MACHINE VARCHAR(60), NUMBER_MACHINE VARCHAR(20), TECH_SURV_DATE DATE, COLOR VARCHAR(20), /* Keys */ PRIMARY KEY (ID) );
CREATE INDEX MACHINE_INFO_INDEX01 ON MACHINE_INFO (ID);
SET TERM ^ ;
CREATE TRIGGER MACHINE_INFO_BI FOR MACHINE_INFO ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GEN_MACHINE_INFO_ID,1); END^
SET TERM ; ^
|
Скачал в интернете firebird maestro для визуальной работы с базой данных, открыл её и попытался добавить новую запись в "Ручную" к моему удивлению запись добавилась. Но id было null(хотя как видно из приведенного sql примера, id является ключевым полем и не может быть null) |