-2

私は mysql テーブルを作成しました----> create table test(gender char(1));

私のpython sudoコードは---->

from pymysql import *
g='m'
sql='insert into test values(%s)' %g
cur.execute(sql)
con.commit()
con.close()

しかし、それは私にエラーを与えます ---> (1054, "不明な列 'm' in 'field list'")

それを解決するために私を助けてください

4

2 に答える 2

3

'insert into test values(%s)' %g

に展開します

'insert into test values(m)'

これは明らかにあなたが望むものではありません (何がm?)

バインド パラメータを使用することをお勧めします。

g = 'm'
sql = 'insert into test values(?)'
cur.execute(sql, g)

詳細については、Python の SQL ステートメントで変数を使用する方法を参照してください。

于 2013-10-14T12:46:05.607 に答える
1

これを試してください:

'insert into test () values('%s')' %g ... this is because the variable g is aString` と、これを行っている追加の後は次のようになります。

「テスト () 値 ('m') に挿入」ではなく、「テスト () 値 (m) に挿入」

<>

乾杯

于 2014-12-10T12:20:34.137 に答える