insert with non-zero id field fails silently 
When creating a SQLite database that is a subset of an existing SQLite database (same type but less overall Models), I was performing a select the an insert (on 2 different database) : 

```nim 
template setup(oldDbName, newDbName: string) =
  echo "open>", olddbName
  var oldDB {.inject.} = open(oldDbName, "", "", "")
  echo "open>", newDbName
  var newDb {.inject.} = open(newDbName, "", "", "")

template teardown(oldDbName, newDbName: string) =
  echo "close>", oldDbName
  oldDb.close()
  echo "close>", newDbName
  newDb.close()

proc restoreDb(oldDbName: string, newDbName: string) =
  block CalDev:
    setup(oldDbName, newDbName)
    var calibrations = @[newCalDevTable()]
    oldDb.selectAll(calibrations)
    for i in 0..<calibrations.len:
      var cal = calibrations[i]
      cal.id = 0 # Doesn't work without this line -- but no error is displayed
      newDb.insert(cal)
      echo &"CalDev({i})> ", cal.id
    teardown(oldDbName, newDbName)
```

If I do not explicitly set id field to 0, the insert is not done from SQlite points of view (no data can be queried on newDbName) but insert does not failt.

I think the id field should either be set to 0 during insert (it should be fair game to modify the id fields of a Model a user is inserting) or atl east have an explicit exception raised.