mysql远程查询工作,但是通过python远程插入失败

iqih9akk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(638)

我正在用mysql运行ubuntu16.04。我已经为远程连接打开了mysql服务器,我的远程python脚本可以查询我的数据库,但是所有插入的尝试都失败了,没有任何错误日志条目。
看起来还可以看到我的远程插入,因为当我运行python插入代码时,我的自动增量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插入不起作用:

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()

谢谢

8qgya5xd

8qgya5xd1#

将此行添加到 execute() 电话:

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

对数据库进行更改时,需要提交更改,否则更改将不会生效。

相关问题