2016-12-04 2 views
1

Я новичок в MYSQL, и я столкнулся с очень простой проблемой с MYSQL. Я создаю базу данных, содержащую таблицу учеников, эта таблица содержит имя студента, идентификатор (первичный ключ). Мне нужно удалить запись, основанную на выборе пользователем id (вызвать эту переменную student_id), так как записать это в инструкции mysql с помощью python? я попробовал это, но я знаю, что это неправильно ->DELETE инструкция mysql с использованием python

cur.execute("Delete FROM students WHERE ID = student_id") 
+0

А что это вы говорите, что это не так? Какую библиотеку вы используете для связи с вашей базой данных? –

+0

После выполнения запроса вам необходимо зафиксировать изменения, используя 'con.commit()' где 'con' - ваш объект подключения –

+0

@ Scot Hunter Я использовал этот импорт mysql.connector, если это то, что вы имеете в виду. @MoinuddinQuadri Я сделал так – ahmed

ответ

1

Это должно работать для вас:

student_id = int(input('Please, enter an ID: ')) # In Python 3, you need to parse the user input for numbers. 

statmt = "DELETE FROM `students` WHERE id = %s" 
cur.execute(statmt, (student_id,)) 
conn.commit() # You need to commit the transaction 
+0

Спасибо, но это не сработало для меня, вот мой код для удаления записи: student_id = input ('please enter ID') statmt = "УДАЛИТЬ ИЗ студента WHERE id =?" cur.execute (statmt, (student_id,)) conn.commit() – ahmed

+0

Обратите внимание, что имя таблицы является учеником. Ниже приведена ошибка: Traceback (последний последний вызов): Файл «C: /Users/Ahmed/PycharmProjects/DATABASE/Test2.py», строка 42, в cur.execute (statmt, (student_id)) Файл «C: \ Python34 \ lib \ site-packages \ mysql \ connector \ cursor.py», строка 507, в исполнении «Не все параметры были использованы в инструкции SQL») mysql.connector.errors.ProgrammingError: Not все параметры были использованы в операторе SQL – ahmed

+0

Вы используете какую версию Python? – ettanany

Смежные вопросы