我在将新的 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);
我想要做的就是插入一条新记录,并让 sqlsamochod_id
为我设置它,但尽管我设置isGenerated
为 false,但它会因消息而崩溃:
"ERROR: null value in column "samochod_id" violates not-null constraint
QPSQL: Unable to create query"
我应该怎么做才能使 QSqlRecord 离开samochod_id
数据库的生成?