问题标签 [mysql-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
737 浏览

python - 如何在python中正确使用mysqldb

我试图弄清楚如何使用python的mysqldb。我可以用我目前的知识完成我的工作,但我想使用最佳实践。

我应该正确关闭我的光标吗?退出程序不是自动关闭吗?(我不应该期望对象析构函数这样做吗?)

我应该为每个查询创建新的游标,还是一个游标足以在同一个数据库中进行多个不同的查询?

0 投票
1 回答
86 浏览

python - MySQLdb - 简单语句出错

该语句错误,我似乎无法弄清楚原因。有什么想法吗?顺便说一句,media_files 表只有两列,ID 和 DATA,每列都是 VARCHAR(255)

谢谢特伦特

0 投票
2 回答
3570 浏览

python - Python MySQLdb 唯一记录,忽略错误

我正在尝试将记录从数组中插入到我的数据库中:

问题是,我希望字段电子邮件是唯一的,所以我在数据库中启用了它。当我开始插入时,我收到重复条目值的错误。

有没有办法让我说,“如果抛出重复错误,只需转到数组中的下一个字符串”?

0 投票
2 回答
716 浏览

python - MySqlDb 安装错误:Python 2.6;Mac OS 10.6,已安装 XAMPP

我最近迁移到 Mac 的世界。我正在尝试让我的 Django 应用程序启动并运行。但是,我很难安装 MySQLDb 连接器。我更喜欢使用 XAMPP,因此没有单独的 MySql/Apache 安装副本。我通过执行以下命令使用 MacPorts 安装了 MySqlDb:

它安装没有任何问题。但是当我尝试运行我的 Django 应用程序(使用包含 MySql 数据库的 settings.py)时,我收到以下错误。

任何帮助将不胜感激!:)

0 投票
3 回答
5545 浏览

python - Python:使用格式化将行插入数据库

我正在尝试将一行插入到我在数据库中设置的表中。

我的代码:

我收到一个错误,说它不喜欢“[]”中的内容。

我不完全理解“%s”是如何工作的。我尝试了很多例子,但都失败了。

我从http://mysql-python.sourceforge.net/MySQLdb.html得到了这个例子

0 投票
1 回答
2074 浏览

python - 当我创建一个 virtualenv 时,即使在 OSX 中已经设置为 32 位,python 也会以 64 位运行

我的设置是:2.6.1 python(苹果默认,雪豹),virtualenv,并使用 virtualenvwrapper

在环境之外,一切都以 32 位运行,这很好。但是对于一个新项目,我将处理需要 django 1.3 和大量依赖项,所以我制作了一个 virtualenv。

我已经成功地安装了所有东西,除了 mysql-python(通过 pip)得到“mach -o wrong architecture”的错误。我已经在 virtualenv 中使用“import sys;sys.maxint”检查了我的 python 解释器,并且 python 以 64 位运行。

我已经通过“defaults write com.apple.versioner.python Prefer-32-Bit -bool yes”将系统范围内的python设置为32位运行

有谁知道为什么会在 virtualenv 内部发生这种情况?

0 投票
3 回答
3359 浏览

python - Python、MySQLdb 和转义表名?

我可能遗漏了一些明显的东西,但我无法弄清楚我的代码与我在 MySQLdb 的在线文档中看到的各种示例有何不同。

我对python编程相当陌生,对perl更有经验。我想要做的是尽早养成某些好习惯(就像在 perl 中我总是从“使用严格;使用警告”开始),所以我试图确保我在一个独立的文件中创建可重用的函数( funct.py) 以节省我以后的时间。

我有这个函数可以从表中选择随机行:

它被这样称呼:

不幸的是,它出错了:_mysql_exceptions.ProgrammingError: (1064,“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的 ''testtable'' 附近使用的正确语法”)

如果我将 testtable 代替执行行上的 %s ,查询将运行,但看起来它运行

这当然会返回“id”。

鉴于这两者,它看起来像是在尝试执行它们时引用了 %s 条目。我想知道是否有人可以解释我如何让它停止这样做,或者我应该如何真正做我想要实现的目标?我希望函数尽可能通用,因此依赖于在调用时传递给它的数据。

编辑:我应该添加,如果我替换?分数:

0 投票
2 回答
1191 浏览

python - 是否有任何安全的方法来参数化 MySQL 查询中的数据库名称?

我正在编写一个小 Python 脚本来帮助我为我的个人项目自动创建 mysql 数据库和相关帐户。该脚本的一部分是一个函数,它将数据库名称作为字符串,然后去创建数据库。

这不起作用,因为MySQL 的 CREATE DATABASE要求数据库的不带引号的名称,如

但是我尝试将用户提供的数据库名称安全地插入到查询中的代码会创建:

你会得到“你的 MySQL 语法在测试附近有问题”。

即使这是供个人使用,我真的不想直接将用户提供的字符串插入到任何类型的查询中。它反对我的宗教。是否有一种安全的方法可以将用户提供的数据库名称插入到 python(或任何语言)中的 mySQL 查询中,以确保用户输入(例如test_db; DROP some_other_db;将被拒绝或正确转义)?

0 投票
2 回答
60212 浏览

python - 使用 MySQLdb for Python 时如何使用选项 skip-name-resolve?

我尝试从我的虚拟机连接到域中的数据库。它适用于 XP,但不知何故不适用于 Win7 并退出:“OperationalError: (1042, "Can't get hostname for your address")”

现在我尝试禁用防火墙和其他东西,但这并不重要。我不需要 DNS 解析,这只会减慢一切。所以我想使用“skip-name-resolve”选项,但是在使用MySQLdb for Python时没有my.ini或my.cnf,那我怎么还能使用这个选项呢?

感谢您的帮助-亚历克斯

0 投票
2 回答
819 浏览

python - 无法使用 pythons mysqldb 执行 mysql insert

这是我关于stackoverflow的第一个问题!我目前正在编写一个 Steam 社区爬虫程序,它会爬取 Steam 配置文件并保存拥有的游戏、Steam 名称、朋友等内容……但是当我尝试运行插入命令时,它什么也不做。

程序显示“插入”,但执行命令既不抛出异常,也不向数据库插入一些东西。此外,不会捕获最终发生的异常。例如,当我将查询更改为“INSERT INTO games (useridd)”时,程序退出并且我看到了异常。

该应用程序是多线程的,但在执行之前获取,所以我看不出有任何问题。