0

Python MySQL 语句返回错误

def _conditional_insert(self, tx, item):
    tx.execute('select * from table where text1 = %s', (item['text1'], ))
    result = tx.fetchone()
    if result:
        log.msg("Item already stored in db: %s" % item, level=log.DEBUG)
    else:
        tx.execute(\
            "INSERT INTO table (text3 table, text1, text2) "
            "values (%s, %s, %s, %s)",
            (item['text3'],
             item['table'],
             item['text1'],
             item['text2'],
             )
        )
        log.msg("Item stored in db: %s" % item, level=log.DEBUG)

def handle_error(self, e):
    log.err(e)

但不断收到以下错误:

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

有人可以告诉我在哪里忽略

4

1 回答 1

4

text3您在字段规范中缺少逗号。

INSERT INTO table (text3 table, text1, text2)

应该:

INSERT INTO table (text3, table, text1, text2)

table另外,如果您不将其括在引号中,我认为它不是有效的表或列名,因为它是一个关键字。

于 2013-08-06T15:23:29.897 回答