MySQL远程查询有效,但通过Python远程插入失败

时间:2018-08-28 16:21:29

标签: python mysql ubuntu remote-server

我正在使用MySQL运行Ubuntu 16.04。我已经打开了用于远程连接的MySQL服务器,并且我的远程Python脚本可以查询我的数据库,但是所有INSERT的尝试都失败了,没有任何错误日志条目。

似乎还可以看到我的远程INSERT,因为运行Python INSERT代码时我的AUTO_INCREMENT ID增加了而没有进行输入。

任何见识都受到赞赏!

简单的表模式:

CREATE TABLE test (
    ID int NOT NULL AUTO_INCREMENT,
    x INT,
    PRIMARY KEY (ID)
);

这直接在服务器上起作用:

INSERT INTO test (x) VALUES (10);

这是有效的Python查询:

try:
    connection = db.Connection(host=HOST, port=PORT, user=USER, passwd=PASSWORD, db=DB)
    cursor = connection.cursor()
    print("Connected to Server")

    cursor.execute("SELECT * FROM test")
    result = cursor.fetchall()
    for item in result:
        print(item)

except Exception as e:
    print('exception connecting to server db: ' + str(e))

finally:
    print('closing connection...')
    connection.close()

Python INSERT无法正常工作:

try:
    connection = db.Connection(host=HOST, port=PORT, user=USER, passwd=PASSWORD, db=DB)
    cursor = connection.cursor()
    print("Connected to Server")

    cursor.execute("INSERT INTO test (x) VALUES (10);")

except Exception as e:
    print('exception connecting to server db: ' + str(e))

finally:
    print('closing connection...')
    connection.close()

谢谢

1 个答案:

答案 0 :(得分:1)

var options = data调用之后添加以下行:

execute()

对数据库进行更改时,要求您提交更改,所有更改都不会生效。