Python-Sql连接,在python终端中创建的条目没有提交到MySql服务器,尽管没有显示错误,但仍生成空表

8yparm6h  于 2023-04-19  发布在  Mysql
关注(0)|答案(1)|浏览(110)

我正在做一个小项目,涉及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()不被认为是一个函数(不与函数代码的颜色混合)

ldioqlga

ldioqlga1#

这个问题可以通过使用connection.commit()来解决。不要混淆使用cursor变量来提交更改。(例如.. control.commit()在这种情况下会使问题恶化)。

相关问题