1
現在のタイムスタンプ、つまりnow()
をmariadb(SQL)テーブルに追加しようとしていますが、ターミナルでスクリプトを実行するとエラーが表示されます。他の変数と一緒にmariaDBテーブルにタイムスタンプを挿入
このスクリプトの問題の一部は次のとおりです。
cursor.execute("INSERT INTO outdoorsensorstable
(time, col2, col3, col4, col5, col6, col7)
VALUES (%s, %s, %s, %s, %s, %s, %s)",
(now(), '', '', data4, '', data6, ''))
(データ4とデータ6は、この前に私のスクリプトで生成された変数です。)
私が得るエラーは以下のとおりです。TypeError: 'datetime.datetime' object is not callable
私は、このようなVALUESセグメントにnow()
を置くことによってこの問題を解決しよう:
cursor.execute("INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) VALUES (now(), %s, %s, %s, %s, %s, %s)", ('', '', '', data4, '', data6, ''))
が、私は、スクリプトを実行している上、別のエラーが表示されます。
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
任意のアイデアなぜ、どのように私はこの問題を解決することができますか?
ありがとう:それはそれはハードコードされているように、パラメータではないためだけで、
NOW()
のための任意のパラメータを渡す必要はありません。私はどうしたらいいですか?引用符(now、)、%s、%s、%s、%s、%sを引用符で囲まずに削除しようとしました(cursor.execute(INSERT INTO outdoorsensorstable(time、col2、col3、col4、col5、col6、col7) now()に対応する部分については、(、 '、'、data4、 ''、data6、 '')) 'が返されますが、別のエラーが返される – Craver2000@ Craver2000それが動作しない場合は別の外観とコメントを持ってください。 –
@ Craver2000実行したコードは、私の答えには何もありません。あなたが間違ってコピーしたり、道に沿ってタイプミスを犯した。 –