Allora, partiamo dall'inizio, migro una tabella di database da access a postgres senza aver creato nella tabella in postgres alcuna chiave primaria. va tutto liscio, la nuova tabella viene popolata dai dati, a parte un particolare che affronterò in altro topic. Successivamente nella nuova tabella postgres rendo chiave primaria
autoincrementate la colonna "id". Se vado a fare qualche modifica ai dati del database, funziona tutto ok, ma se tento l'inserimento col codice che segue più sotto, di un nuovo record, ottengo l'errore:
Cannot create record: ERROR: duplicate key value violates unique constraint "clienti_pkey1" DETAIL: Key (id)=(2) already exists. Ossia, mi sembra di capire che la colonna id "non ha in memoria" quanti record sono già presenti....
Public Sub Salva()
$Con.Begin
res = $Con.Create("clienti")
If res.Available Then
res!cognome = txtCognome.Text
res!nome = txtNome.Text
res!indirizzo = txtIndirizzo.Text
res!luogo = txtCitta.Text
res!telefono = txtTelefono.Text
res!cellulare = txtCellulare.Text
res!cf = txtCodFisc.Text
res!email = txtEmail.Text
res.Update
Endif
$Con.Commit
Catch
$Con.Rollback
Message.Error(Error.Text)
End
L'errore è stato quello di non rendere da subito autoincrementante id, prima di popolare la tabella con i dati? In Access lo potevo fare, in postgres è questo il problema? in allegato un'immagine della tabella. Ho sbagliato qualcos'altro?