我使用db.insert()将数据插入数据库,代码是这样的,
db.insert('categories', name=cate_name, description=desc, _test=True)
但它不起作用,在执行代码后无法在表'类别'中找到数据,顺便说一下也没有例外。 有人知道为什么会这样吗?
答案 0 :(得分:0)
删除?- changeFst(2,[1,2,3,4,2],10,Xs).
Xs = [1,10,3,4,2]. % succeeds deterministically
?- changeFst(o,[o,o],n,[m,y,s,t,e,r,y]).
false. % expected result
?- changeFst(Old,Olds,New,News).
Olds = [], News = [] ;
Olds = [Old|_A], News = [New|_A] ;
Olds = [_A], News = [_A], dif(_A,Old) ;
Olds = [_A,Old|_B], News = [_A,New|_B], dif(_A,Old) ;
Olds = [_A,_B], News = [_A,_B], dif(_A,Old), dif(_B,Old) ;
Olds = [_A,_B,Old|_C], News = [_A,_B,New|_C], dif(_A,Old), dif(_B,Old) % and so on...
或设置_test=True
答案 1 :(得分:0)
_Test
变量代表调试目的。
它允许您获取SQL语句而不是执行一个。
这意味着你的命令
result = db.insert('categories', name=cate_name, description=desc, _test=True)
不会在您的数据库上执行任何操作。它只会返回一个字符串:
"INSERT INTO categories (name, description) VALUES ('cate_name value', 'desc value')"
如果您想进行真正的查询,则需要将其删除:
db.insert('categories', name=cate_name, description=desc)
它应该有用。