我正在使用 SQLite 資料庫創建登錄/注冊程式,我想知道如何在僅傳遞 7 列中的 4 列的同時向資料庫插入一行,并將前三列(id、狀態和型別)留空,以便它們填充資料庫默認值值。我怎么能做這樣的事情?我嘗試只傳遞 4 個引數,但它不會以我嘗試的任何方式作業。
username = input("username: ")
name = input("name: ")
password = input("password: ")
email = input("email: ")
salt = 'xxxxx'
hexdex = hashlib.sha512((password salt).encode()).hexdigest()
con = sqlite3.connect('database/database.db')
cur = con.cursor()
cur.execute("INSERT INTO users VALUES (DEFAULT, DEFAULT, DEFAULT, (?), (?), (?), (?))", (username, name, hexdex, email))
con.commit()
con.close()
uj5u.com熱心網友回復:
您必須列出將獲得您提供的值的所有列,并跳過將獲得其默認值的列:
sql = "INSERT INTO users(username, name, hexdex, email) VALUES (?, ?, ?, ?)"
cur.execute(sql, (username, name, hexdex, email))
我username, name, hexdex, email用作列的名稱。
如果它們與實際名稱不同,請更改它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325062.html
