PyMySQL将值插入表时出错。 - Python

时间:2016-07-28 18:43:19

标签: python mysql python-3.x pymysql

我正在尝试使用python和mysql创建一个登录系统。我连接到数据库,但是当我尝试将值插入表中时,它失败了。我不确定是什么错。我使用的是python 3.5和PyMySQL模块。

    #!python3
    import pymysql, sys, time
    try:
        print('Connecting.....')
        time.sleep(1.66)
        conn = pymysql.connect(user='root', passwd='root', host='127.0.0.1', port=3306, database='MySQL')
        print('Connection suceeded!')
    except:
        print('Connection failed.')
        sys.exit('Error.')

    cursor = conn.cursor()

    sql = "INSERT INTO login(USER, PASS) VALUES('test', 'val')"

    try:
        cursor.execute(sql)
        conn.commit()
    except:
        conn.rollback()
        print('Operation failed.')

    conn.close()

2 个答案:

答案 0 :(得分:0)

我认为这可能与连接中语句的顺序有关。根据PyMySQL github(找到here),正确的顺序是host,port,user,passwd,db。

答案 1 :(得分:0)

像这样:

user = input("User: ")
pass = input("Pass: ")
sql = "INSERT INTO login(USER, PASS) VALUES('%s', '%s')"%(user, pass)
你应该像这样连接:

 conn = pymysql.connect(
    host='127.0.0.1',
    user='root',
    passwd='root',
    db='MySQL
    )