2016-12-04 2 views
1

私はMYSQLを初めて使用しています。私はMYSQLで非常に簡単な問題に直面しています。私は学生テーブルを含むデータベースを作成しています。このテーブルには学生の名前、ID(プライマリキー)が含まれています。ユーザーのIDの選択に基づいてレコードを削除する必要があります(この変数student_idを呼び出します)。これをPythonを使用してmysqlステートメントに書き込む方法は?私はこれを試してみましたが、私はそれが間違っている知っている - >pythonを使用してmysql文を削除する

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

それについてあなたはそれが間違っていると言うなりますか?あなたのデータベースと通信するためにどのライブラリを使用していますか? –

+0

クエリを実行した後、 'con.commit()'を使って変更をコミットする必要があります。ここで 'con'は接続オブジェクトです –

+0

@ Scotハンター私はこのインポート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( 'IDを入力してください') statmt = "どこからIDを削除するか? cur.execute(statmt、(student_id、)) conn.commit() – ahmed

+0

テーブル名はstudentです。トレースは次のとおりです:トレースバック(最新の最後のコール): ファイル "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

関連する問題