Как автоматически добавить новую запись в базу данных? - PullRequest
0 голосов
/ 11 апреля 2020

Здравствуйте. Я пытаюсь создать бота Attendance и хочу создать функцию NewUser, которая будет автоматически добавлять пользовательские данные в базу данных в новой строке, где user_id будет идентификатором пользователя телеграммы, а Name - именем пользователя телеграммы. Он также проверит, существует ли user_id, и ничего не сделает. Пожалуйста, помогите мне, как я могу создать эту функцию?

Я создал этот код `

def newUser(self, user_id, Name):
        found = 0
        while found ==0:
            user_id = v
            with sqlite3.connect("database.db") as db:
                cur = self.conn.cursor()
            finduser = ("SELECT * FROM Attendence WHERE user_id = ?")
            cur.execute(finduser,[{user_id}])

            if cur.fetchall():
                pass
            else:
                found = 1
        Name = username
        Physics = 0
        Chemistry = 0
        Maths = 0
        CPrograming = 0
        insertdata = '''INSERT INTO Attendence(user_id, Name, Physics, Chemistry, Maths, CPrograming)
        VALUES(?,?,?,?,?,?)'''
        cur.execute(insertdata,[(user_id),(Name),(Physics),(Chemistry),(Maths),(CPrograming)])
        self.conn.commit()`

Я объявил v и имя пользователя в основном скрипте и передал в качестве аргумента.

v = update.effective_user.id
username = update.effective_user.full_name

У меня нет ошибки, но когда я запускаю своего бота, новый не создается, пожалуйста, помогите.

...