2017-12-27 19 views
0

mySQLデータベースにデータの列をアップロードしようとしています。以下は、問題に遭遇するコードのスニペットです。 var6var2strオブジェクトから変換decimalオブジェクトであることを cursor.execute(sql,(var2, var3, var4, var5, var6)) TypeError: 'str' object is not callable「フィールドリスト」の「..」列が不明です

注:コードを実行している場合

cursor = mariadb_connection.cursor() 
cursor.execute=("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))") 
sql ="INSERT INTO table1 (ts, col2, col3, col4, col5, col6)" 
sql += "VALUES (NULL, %s, %s, %s, %s, %s)" 
cursor.execute(sql,(var2, var3, var4, var5, var6)) 

、私は次のエラーを取得します。

更新:問題のある行から=を除去した後、私は今、別のエラーを持っているように見える:mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'ts' in 'field list'.

任意のアイデア私が間違って何をやっていますか?

更新:不明列の問題を解決するには、既存のテーブルを削除し、再度

+0

あなたはこれらの中に保存されているを使用することです変数** var2からvar6 **? –

+1

あなたは 'cursor.execute = ... 'で' execute'を上書きしました。 –

答えて

1

があなたのcursor.excecute=(...)から=記号を削除するスクリプトを実行し、この

cursor.execute("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))") 
+0

ありがとうございました。 mysql.connector.errors.ProgrammingError:1054(42S22): 'フィールドリスト'に未知の列 'ts'があります。しかし、私はすでにこれがタイムスタンプ列であることを示しました。 – Craver2000

+1

テーブルが作成されているかどうか確認してください。作成されている場合は、このフィールドが存在するかどうかを確認します。 –

+0

ありがとうございました!私は、既存のテーブルを削除し、私は再びスクリプトを実行し、今はうまくいきます。 – Craver2000

関連する問題