gpt4 book ai didi

mysql - web2py 检查数据库插入或更新中是否存在

转载 作者:可可西里 更新时间:2023-11-01 07:49:43 24 4
gpt4 key购买 nike

我正在尝试执行检查以查看记录是否存在,然后再插入记录,这样我就不会收到错误。如果它存在,我将更新一个字段。

mydb(mydb.myitems.itemNumber==int(row)).update(oldImageName=fileName) or 
mydb.myitems.insert(itemNumber=int(row),oldImageName=fileName)

如果我尝试更新一条不存在的记录,那么它应该抛出一个 1 或 0 以外的东西。但是在上面的例子中,它总是抛出一个 0,所以插入会继续发生。

这是为什么呢?

谢谢!

更新:添加模型:

mydb.define_table('myitems', 
Field('itemNumber', 'id',notnull=True,unique=True),
Field('oldImageName', 'string')

最佳答案

If i try to update a record that does not exist, then it should throw a 1 or something aside from 0.

如果您尝试更新一条存在的记录,.update() 将返回None,因此插入将发生.如果存在匹配的记录,.update() 将返回更新的记录数。

无论如何,你应该这样做:

mydb.myitems.update_or_insert(mydb.myitems.itemNumber == int(row),
oldImageName=filename)

或者:

mydb.myitems.update_or_insert(dict(itemNumber == int(row)),
oldImageName=filename)

update_or_insert 的第一个参数是 _key,它可以是 DAL 查询或以字段名作为键的字典。

关于mysql - web2py 检查数据库插入或更新中是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com