title: Abort due to constraint violation columns C1,C2,C3 are not unique
body: <p>I have a composite primary key(C1+C2+C3)on a table.
  Here is the DDL</p>
  
  <pre><code>    CREATE TABLE "InputFiles" (
    [PlantID] INTEGER, 
    [FileID] INTEGER, 
    [VesselDataCase] CHAR(9), 
    [Comments] CHAR(73),  
  Primary key([PlantID], [FileID]),
    FOREIGN KEY(PlantId) REFERENCES Plant(PlantId) ON DELETE CASCADE);
  
  CREATE TABLE [VesselData] (
  [MaterialType] NVARCHAR(100) NOT NULL,
  [Operating_Temperature] NUMERIC, 
    [IRTndt] numeric, 
    [VDID] integer, 
    [PlantId] integer, 
    [FileId] integer,
  FOREIGN KEY([plantid], [fileid]) REFERENCES [inputfiles]([plantid], [fileid]) ON DELETE cascade, 
    CONSTRAINT [sqlite_autoindex_VesselData_1] PRIMARY KEY ([VDID], [PlantId], [FileId])); 
  
  When I try to insert a new row in VesselData Table
  </code></pre>
  
  <p>Suppose VDID = 1, Fileid = 2, Plantid = 3. So it looks for(1+2+3) combination. 
  Even though fields with these values dont exist in the Table, it gives me 
  Abort due to constraint violation
  columns VDID, PlantId, FileId are not unique SQlite exception </p>
  
  <p>But, it is inserting the field in the table. After inserting this field it gives me this exception. Either it shouldn't insert or abort due to invalid field values</p>
  
  <p>Thank you
  Sun</p>