我正在做一个小项目,涉及Python与MySql的连接。我所设想的是,我将使用Python将用户名和密码等凭据存储到我与MySql服务器连接的名为PENGUINX
的数据库中。到目前为止,我的代码看起来很干净,在执行时没有显示任何错误,但是当我返回MySql工作台并试图显示Python输入到Credents
table通过运行命令select * from credents;
,它给了我一个空表,这显然表明我的条目没有提交到服务器数据库。
import random
import mysql.connector as boss
connection = boss.connect(host = 'localhost ', username = 'root', password = '********', database = 'penguinx')
control = connection.cursor()
control.execute('use penguinx ;')
print('---------DATABASE OF PENGUIN-X USERS CREDENTIALS---------')
def login_credentials():
__ask_number_of_datachunks__ = int(input('How many credentials to be entered ? : '))
for i in range(__ask_number_of_datachunks__) :
ask_email = input('Enter Your Username : ')
ask_pass = input('Enter Your password : ')
assign_id = random.randint(1,100)
control.execute('insert into credents values({},"{}","{}");'.format(assign_id,ask_email,ask_pass))
control.commit()
login_credentials()
记住contron.commit()中的commit()不被认为是一个函数(不与函数代码的颜色混合)
1条答案
按热度按时间ldioqlga1#
这个问题可以通过使用
connection.commit()
来解决。不要混淆使用cursor变量来提交更改。(例如..control.commit()
在这种情况下会使问题恶化)。