2017-05-22 3 views
0
import pymysql 
import os 

conn = pymysql.connect(host='localhost',database='pyp',user='root',password='') 

a = conn.cursor() 

i= raw_input('enter column name : ') 

sql='UPDATE report SET %s = "xyz" WHERE Id = 1' 

a.execute(sql,(i)) 

conn.commit() 

conn.close() 

コメント:改善されたフォーマット は、PythonPythonを使用して入力したテーブルの列の値を更新できませんか?

import pymysql 

import os 

conn = pymysql.connect(host='localhost',database='pyp',user='root',password='') 

a = conn.cursor() 

i= raw_input('enter column name : ') 

sql='UPDATE report SET %s = "xyz" WHERE Id = 1' 

a.execute(sql,(i)) 

conn.commit() 

conn.close() 

を使用して、表の入った列の値を更新することはできません。

[期待出力] --------------------------->

は、そのID値選択した列を更新することです1からxyxまで。

プログラムは、入力した列名の列名と変更値を尋ねる必要があります。

[エラー] --------->

は、列名を入力します。

ProgrammingError名前:(1064、u'YouがあなたのSQL構文でエラーが発生しているが、そのマニュアルをご確認ください\\ 'name' = "name"の近くで使用する正しい構文のMariaDBサーバーバージョンに対応しています)。

答えて

0

「名前」キーを'名前'キー はこのようになります -

sql='UPDATE report SET {} = "xyz" WHERE Id = 1' 
a.execute(sql.format(str(i))) 

あなたの問題を解決すれば教えてください。

+0

それは働いた。 クエリの処理 *** i = raw_input( '列名を入力') *** h = raw_input( '入力ID') **** sql = 'UPDATEレポートSET {} = "xyz "WHERE Id = s% ' 実行方法?? –

+0

このように追加することができます - "UPDATEレポートSET {0} =" xyz "WHERE Id = {1}"。format(i、h) – tom

関連する問題