小编Pad*_*lin的帖子

我应该在一次选择后提交

我正在使用MySQLdb模块从python使用MySQL 5.0.

考虑一个简单的函数来加载和返回整个数据库表的内容:

def load_items(connection):
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM MyTable")
    return cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

此查询旨在成为一个简单的数据加载,并且除了该单个SELECT语句之外没有任何事务行为.

在运行此查询之后,可能需要一段时间再次使用相同的连接来执行其他任务,尽管其他连接仍然可以同时在数据库上运行.

我应该在通话connection.commit()后尽快cursor.execute(...)打电话,以确保操作未在连接上留下未完成的交易吗?

mysql mysql-python

13
推荐指数
1
解决办法
6176
查看次数

我可以在具有AUTO_INCREMENT属性的列中使用零

我正在使用MySQL 5.0服务器.我的要求是在具有自动增量主键的现有表中添加一个特殊行.

如果我们能够将该行的id设为0(因为它易于记忆并且易于在手动观察中发现),这对于项目的未来维护和管理将非常有用.

现在,我知道MySQL对自动增量列使用自己的值没有问题,我的测试表明我可以使用UPDATE查询将行的自动增量主键设置为0.但是,已经提出了一些关于如何在将来的INSERT中影响列的自动递增功能的问题.

我的(有限的)实验表明没有什么奇怪的,我在MySQL文档中找不到任何针对此的具体警告.也就是说,除此之外(强调我的):http://dev.mysql.com/doc/refman/5.0/en/create-table.html

每个表只能有一个AUTO_INCREMENT列,必须将其编入索引,并且不能具有DEFAULT值.仅当AUTO_INCREMENT列仅包含正值时,它才能正常工作.插入负数被视为插入一个非常大的正数.这样做是为了避免数字从正到负"包裹"时的精度问题,并确保您不会意外地获得包含0的AUTO_INCREMENT列.

我无法找到AUTO_INCREMENT列中值为零的错误解释,所以有人可以告诉我,如果包含0的AUTO_INCREMENT列是坏事吗?

mysql auto-increment

5
推荐指数
1
解决办法
279
查看次数

标签 统计

mysql ×2

auto-increment ×1

mysql-python ×1