新しい QSqlRecord を Postgresql データベースに挿入する際に問題があります。ターゲット テーブルは次のように定義されます。
create table samochod(
samochod_id integer primary key default nextval('samochod_id_seq'),
marka varchar(30),
poj_silnika numeric,
typ_silnika silnik_typ,
liczba_osob smallint
);
レコード挿入のコードは次のとおりです。
QSqlRecord rec = model->record();
rec.setGenerated("samochod_id", false);
rec.setValue("marka", ui.brandEdit->text());
rec.setValue("poj_silnika", ui.volSpin->value());
rec.setValue("typ_silnika", ui.engineCombo->currentText());
rec.setValue("liczba_osob", ui.passengersSpin->value());
bool ok = model->insertRecord(-1,rec);
私がやりたいことは、新しいレコードを挿入し、SQL を設定することだけですが、 falsesamochod_id
に設定したにもかかわらず、次のメッセージでクラッシュします。isGenerated
"ERROR: null value in column "samochod_id" violates not-null constraint
QPSQL: Unable to create query"
QSqlRecord の生成をデータベースに残すにはどうすればよいsamochod_id
ですか?