2

MySQLの更新ステートメントが機能していないようです。

timeup = "UPDATE timeid set time=\"" + str(timeid) + "\""
c.execute(timeup)

変数の型を変更したり(上記のように文字列として使用したり)、引用符を使用する場合と使用しない場合など、間違っていると思われるすべてのことを試しました。

ステートメントが何に変わるかを印刷することもできます。

UPDATE timeid set time="224215313716215808"

timeidが持つ唯一の列と値は、それぞれtimeと0です。

なぜこれが更新されないのですか?私は何か間違ったことをしていますか?

4

3 に答える 3

2

以下を使用する必要があります。

c.commit();

sinceMySQLdbは update ステートメントのトランザクションを開始します。

于 2013-04-15T18:25:30.017 に答える
1

試す:

timeup = "UPDATE `timeid` SET `time`='" + str(timeid) + "';"
c.execute(timeup)

SQLでは時間が定数である可能性があるため、単純な引用符(どのように呼ばれるかはわかりません)を使用すると、フィールドを確実に参照できます。また、値の設定に使用'して、セミコロンの追加を検討してください。

以前にデータベースを選択しましたか?

于 2012-07-14T19:01:27.783 に答える
-1

クエリの最後にセミコロン (;) を追加してみて、うまくいくかどうか教えてください。

于 2012-07-14T19:03:32.223 に答える