ITNOA
我使用sqlite_orm库在程序中使用sqlite,并且具有如下表
auto storage = make_storage("test_remove.sqlite",
make_table("objects",
make_column("key_part_1",
&Object::key_part_1),
make_column("key_part_2",
&Object::key_part_2),
make_column("name",
&Object::name),
primary_key(&Object::key_part_1, &Object::key_part_2)));
如您所见,该表具有复合键(key_part_1
和key_part_2
)。当我从Obejct
创建实例时,如下所示
Object object{0, 0, "dummy"};
并尝试插入表格中
auto id1 = storage.insert(object);
我有一个例外。
所以我的问题是如何向该表中插入对象?
答案 0 :(得分:0)
正如您在GitHub上的一个针对sqlite_orm的Composite key title项目中看到的那样,使用复合键插入对象的方法必须使用key
函数而不是{{1} }功能如下
考虑您拥有下面的实体
replace
并创建如下所示的模式
insert
因此您可以像下面这样插入该实体的一个瞬间
struct Object
{
int key_part_1;
int key_part_2;
std::string name;
};