使用Python的简单MySQL查询出错,但在MySQL控制台中有效吗?

时间:2011-06-06 13:48:33

标签: python mysql

我正在尝试对数据库运行简单的插入查询。我已正确配置它,它应该工作,但它没有。出于某种原因,我在此查询中收到以下错误:

查询:

INSERT INTO searches (query) VALUES ('test')

错误:

(1062, "Duplicate entry 'test' for key 'query'")

查询在MySQL控制台中运行没有问题所以它一定是Python的问题?这是我的Python代码:

def increase_search_count(search_query):
    from django.db import connection, transaction

    search_query = search_query.strip()
    cursor = connection.cursor()
    rows = cursor.execute("INSERT INTO searches (query) VALUES ('test')")

我知道有更好的方法来处理数据库,但我是Python的新手,我有一个截止日期。我只想让它工作,我在另一个函数中有另一个SELECT查询,并且运行没有任何问题!

任何想法可能出错?

1 个答案:

答案 0 :(得分:0)

构造查询的方式意味着您将始终将“test”插入数据库,并且看到查询可能是表中的主键,它将创建重复的行。

查询应该类似于“INSERT INTO搜索(查询)VALUES('”变量“')”,因此您不会反复插入相同的值。