Python sql语句错误

时间:2015-10-03 07:23:01

标签: python mysql

尝试从python执行insert语句时遇到了问题。

这是我的功能定义:

def fill_course(param_string):
    ar = param_string.split("|")
    db = connect()
    sql = (
        "INSERT INTO COURSE(`NAME`, `DURATION`, `DEPT`) "
        "VALUES (%s, %s, %s)"
    )
    data = ar[0], ar[1], ar[2]
    cursor = db.cursor()
    cursor.execute(sql, data)
    db.commit()
    if cursor.rowcount == 0:
        res = 0
    elif cursor.rowcount == 1:
        res = 1
    db.close()
    print(res)
    return res

我已将this链接作为参考。

我得到的错误是:

 File "database.py", line 25
    "INSERT INTO COURSE        "VALUES (%s, %s, %s)"
                                     ^
SyntaxError: invalid syntax

我无法理解这里语法的哪个部分是错误的?

1 个答案:

答案 0 :(得分:3)

请写下以下字符串

"INSERT INTO COURSE(`NAME`, `DURATION`, `DEPT`) "
    "VALUES (%s, %s, %s)"

如下所示:

"INSERT INTO COURSE(`NAME`, `DURATION`, `DEPT`) VALUES (%s, %s, %s)"

或连接两个字符串。就像现在一样,存在语法错误。