我正在使用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()
谢谢
答案 0 :(得分:1)
在var options = data
调用之后添加以下行:
execute()
对数据库进行更改时,要求您提交更改,所有更改都不会生效。