@Finest

Почему выскакивает ошибка #1064 при выполнении SQL запроса INSERT INTO в MSQL?

Здравствуйте не могу понять почему выскакивает ошибка 1064 при выполнении SQL запроса INSERT INTO
if step == def_options_start.options()[1]:
                information = input('''Введите Имя, Фамилию, Номер телефона и E-mail: ''')
                #surname = input('''Введите Фамилию: ''')
                #name = input('''Введите Имя: ''')
                #phone_number = input('''Введите Номер телефона: ''')
                #email = input('''Введите email: ''')
                #new_contact.n_contact().append(name)
                #new_contact.n_contact().append(surname)
                #new_contact.n_contact().append(phone_number)
                #new_contact.n_contact().append(email)
                print(new_contact.n_contact(information)[0])
                #name = input('''Введите Имя: ''')
                #new_contact.n_contact()["Name"] = name
                #phone_number = input('''Введите Номер телефона: ''')
                #new_contact.n_contact()["Phone_number"] = phone_number
                #email = input('''Введите email: ''')
                #new_contact.n_contact()["Email"] = email
                query = f'''insert into adress_book(Имя,Фамилия,Номер_телефона,Адресс_электронной_почты)
                            values(%s,%s,%s,%s),
                          ({new_contact.n_contact(information)[1]},{new_contact.n_contact(information)[0]},{new_contact.n_contact(information)[2]},{new_contact.n_contact(information)[3]})'''
                run_sql_insert.run_sql_insert(query)

Это код самой программы куда импортируется функция run_sql_insert
def run_sql_insert(sql_ins):
    # вызываю библу для sql
    import pymysql.cursors
    # Создаю коннект
    connection = pymysql.connect(host='127.0.0.1', user='root', password='wi12s1x0ar',
                    database='basic_tranning', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

    #обработка данных
    cur = connection.cursor()
    cur.execute(sql_ins)

    #Сохранение и закрытие коннекта
    connection.commit()
    cur.close()
    connection.close()

Вот сама функция run_sql_insert
def n_contact(information):
    new_contact = []
    new_contact.append(information)
    new_contact_string = ''.join(new_contact)
    n,s,p,e = new_contact_string.split()

    return n,s,p,e

Это код с функцией содержащий список для записи данных
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Ты неправильно используешь библиотеку:
query = f'''insert into adress_book(Имя,Фамилия,Номер_телефона,Адресс_электронной_почты)
                            values(%s,%s,%s,%s),
                          ({new_contact.n_contact(information)[1]},{new_contact.n_contact(information)[0]},{new_contact.n_contact(information)[2]},{new_contact.n_contact(information)[3]})'''
                run_sql_insert.run_sql_insert(query)


Вот это вообще неправильно. Перепиши так:
query = f'''insert into adress_book(Имя,Фамилия,Номер_телефона,Адресс_электронной_почты)
                            values(%s,%s,%s,%s)'''
run_sql_insert.run_sql_insert(query, new_contact)
# ...
cur.execute(sql_ins, args)


Вместо args - кортеж из аргументов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы