Hello Ann Well, that was not the case, because without the word CONSTRAINT has failed and with that word has worked fine and I was the only user of the database at that moment.
But no problem, I know the solution: always use the word CONSTRAINT. Greetings. Walter. On Sun, Aug 23, 2015 at 12:37 PM, [email protected] [firebird-support] <[email protected]> wrote: > > > Hi, > > have you sample database to reproduce this. > How you test this difference? Have you some backup of database and restore > it and then test this two options? > > regards, > Karol Bieniaszewski > > > *From:* mailto:[email protected] > <[email protected]> > *Sent:* Sunday, August 23, 2015 5:48 AM > *To:* [email protected] > *Subject:* Re: [firebird-support] Re: Differences when adding a Primary > Key > > > > Nobody knows the answer? > > Well, then I shall add this to the "Firebird's mysteries". > > Greetings. > > Walter. > > > On Fri, Aug 21, 2015 at 4:47 PM, Walter R. Ojeda Valiente < > [email protected]> wrote: > >> Hello Ann >> >> Well, the world has not falled out, nothing so dangerous, the error >> message is: >> >> "Cannot commit transaction: >> The insert failed because a column definition includes validation >> constraints. >> validation error for column ID, value "*** null ***"." >> >> The question is: >> >> Why without using CONSTRAINT appears that message but using CONSTRAINT >> all works fine? >> >> And there are not row/s with a NULL value in the column ID. >> >> At least, they are not showed with the following query: >> >> SELECT >> * >> FROM >> MyTable >> WHERE >> ID IS NULL >> >> So, it seems very strange to me. The logic for me is: both works or both >> fails, but why one fails and the other works? >> >> Greetings. >> >> Walter. >> >> >> >> >> >> >> On Fri, Aug 21, 2015 at 2:43 PM, Ann Harrison [email protected] >> [firebird-support] <[email protected]> wrote: >> >>> >>> >>> >>> On Aug 21, 2015, at 2:13 PM, 'Walter R. Ojeda Valiente' >>> [email protected] [firebird-support] < >>> [email protected]> wrote: >>> >>> >>> Without using CONSTRAINT doesn't work and in such case the name is >>> choosed by Firebird, not for me. >>> >>>> >>>>> >>>>>> For add a Primary Key to a table we can write: >>>>>> >>>>>> ALTER TABLE MyTable ADD PRIMARY KEY (ID); >>>>>> >>>>>> or we can write: >>>>>> >>>>>> ALTER TABLE MyTable ADD CONSTRAINT MyPK PRIMARY KEY (ID); >>>>>> >>>>>> In the first case, the Firebird puts the name of the Primary Key, in >>>>>> the second case we choose that name, but... >>>>>> >>>>>> Why sometimes the first case fails and the second case always work? >>>>>> >>>>>> But (just sometimes) the first case fails. >>>>>> >>>>>> >>>>> >>> How does it fail? What's the error message? Or does it kill the >>> connection? Crash the server? Freeze the O/S? Set the machine on fire? >>> >>> Cheers, >>> >>> Ann >>> >> >> > > > >
