Python从用户输入中检查NULL值,并且不包含在sql更新中

在我的函数中,我要求用户输入不同的变量,然后更新数据库。问题是,如果他们不输入任何内容,有没有办法我不能将任何内容推送到数据库?当他们不输入var的值时,DB中的值将被清除。


db_root = '/var/lib/mysql/'


db_to_create = 'students'

db_to_use = 'students'


conn = pymysql.connect(host='localhost',  user='root', passwd='dbadmin',  cursorclass=pymysql.cursors.DictCursor)


print('Connection successful!!')



def modify_student():

    student_id = input("Enter the id of the student record you wish to modify: ")

    student_info = input("Is this student personal information you want to modify - y or n: ")

    if student_info == 'y':

        firstname = input("Enter the first name: ")

        lastname = input("Enter the last name: ")

        email = input("Enter the email address: ")

        address = input("Enter the address: ")

        DOB = input("Enter the DOB in YYYY-MM-DD: ")


        cur = conn.cursor()

        command = "use %s; " %db_to_use

        cur.execute(command)


        sql = "UPDATE students_info SET firstname = %s, lastname = %s,  email = %s,  address = %s,  DOB = %s  WHERE ID = %s;"

        cur.execute(sql, [firstname, lastname, email, address, DOB, student_id])


        print(cur.execute)

        conn.commit()

        cur.close()

        conn.close()

    else:

        print("else")

白板的微信
浏览 219回答 2
2回答

倚天杖

您可以使用以下帮助器功能:def mandatory_input(prompt):    while True:        value = input(prompt)        if value:            return value        print("You did not enter the required information.")并input用它替换所有被认为是强制性的提示,因此:student_id = input("Enter the id of the student record you wish to modify: ")变成:student_id = mandatory_input("Enter the id of the student record you wish to modify: ")依此类推,以便在用户输入内容之前一直提示用户输入值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python