我对Python和Flask非常陌生,在研究示例时,我不禁注意到游标。在此之前,我用PHP编程,在那里我从来不需要游标。所以我想知道:什么是游标,为什么在这些代码示例中这么多地使用游标?
但无论我转向何处,我都没有看到明确的判决和大量的警告:
最重要的是,我了解到MySQL不支持游标!
看起来,mysqlclient库中唯一不使用游标的代码是_msql模块,作者反复警告说,出于兼容性原因,不要使用它:“如果您想编写跨数据库可移植的应用程序,请使用MySQLdb,避免直接使用该模块。”
好吧,我希望我已经很好地解释和支持了我的困境。这里有两个困扰我的大问题:
mysqlclient中游标不是可选的发布于 2015-12-30 14:27:11
您的数据库引擎级别游标和Python api游标混淆了。第二个问题只存在于Python代码级别,而不一定与数据库级别的代码相关联。
在Python级别,游标是封装查询及其结果的一种方法。这个抽象级别允许为不同的供应商提供一个简单、可用和通用的api。给定供应商的实际实现是否依赖于数据库级游标是一个完全不同的问题。
长话短说:这里有两个不同的概念:
之所以命名db游标,是因为它们在概念上与数据库游标有一些相似之处,但在技术上是完全无关的。
至于mysqlclient为什么这样工作,它很简单:它实现了佩普249,这是用于Python数据库客户端的社区定义的API。
https://stackoverflow.com/questions/34530940
复制相似问题