Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何知道我的execute方法是否执行了成功的删除?_Python_Sqlite_Sqlalchemy - Fatal编程技术网

Python 我如何知道我的execute方法是否执行了成功的删除?

Python 我如何知道我的execute方法是否执行了成功的删除?,python,sqlite,sqlalchemy,Python,Sqlite,Sqlalchemy,我正在研究ResultProxy类,它似乎是execute方法的结果 我从一个简单的select开始,然后迭代结果。不过我好奇的是更新和删除。如何知道删除是否成功 在python中执行此操作时,我将使用类似于: result = session.execute("delete from A where id = 4") 它运行它,但除了试图查询id=4的存在性之外,我不知道它是否成功 当我查看ResultProxy类时,我没有看到任何与isSuccessful相关的内容,也没有看到任何其他跳出

我正在研究ResultProxy类,它似乎是
execute
方法的结果

我从一个简单的select开始,然后迭代结果。不过我好奇的是更新和删除。如何知道删除是否成功

在python中执行此操作时,我将使用类似于:

result = session.execute("delete from A where id = 4")
它运行它,但除了试图查询id=4的存在性之外,我不知道它是否成功

当我查看ResultProxy类时,我没有看到任何与
isSuccessful
相关的内容,也没有看到任何其他跳出到我面前的关键字

正如我所说,通常情况下,我只是迭代选择集,但无法完全理解这一点。

您可以查看属性:

if result.rowcount > 0:
    print("deleted something")
else:
    print("nothing deleted")
请注意,此属性的准确性取决于数据库和查询。特别是对于SQLite和简单的
从foo中删除,其中bar=:baz
查询应该可以工作。

您可以查看以下属性:

if result.rowcount > 0:
    print("deleted something")
else:
    print("nothing deleted")

请注意,此属性的准确性取决于数据库和查询。特别是对于SQLite和简单的
从foo中删除,其中bar=:baz
查询应该可以工作。

成功的意思是它删除了一些东西吗?或者只是执行了?项目已成功删除。成功是指它删除了某些内容吗?或者仅仅是执行了?项已成功删除。因此,在这种情况下,
result
是否会是已删除项的列表?@fallereneaper No.
result
是会话的结果。execute(),一个
ResultProxy
实例。对于
DELETE
查询,
result
是一个空的iterable。啊,好的。rowcount是受影响的行数。很酷,谢谢。那么,在这种情况下,
result
会是已删除项目的列表吗?@fallereneaper No.
result
是会话的结果。execute(),一个
ResultProxy
实例。对于
DELETE
查询,
result
是一个空的iterable。啊,好的。rowcount是受影响的行数。很酷,谢谢。