私のMySQLdbデータベースの日付の列&を更新しようとしています。私はdate1とtime1という名前で2つの列を持ち、どちらもTEXT型です。これは私のpythonコード日付と時刻をPythonでMySQLに更新する
import MySQLdb
import datetime
db = MySQLdb.connect('localhost','admin','admin','dbname')
cur = db.cursor()
a = datetime.datetime.strftime(datetime.date.today(),'%Y-%m-%d'))
cur.execute('update Data set date1={0}'.format(a))
db.commit()
である。しかし、このコードを実行した後、私は「2000」に設定した列の値を参照してください。
MySQLではvarchar2、date、datetimeといういくつかのデータ型を試しましたが、常に '2000'または '0000-00-00'と表示されます。
UPDATE `Data` SET `date1`='22-04-1994'
が、私はこのエラーをGoogleで検索して、この試みた:私は、このSQLクエリを実行すると
は、直接それが正常に動作し
a = datetime.date.today()
a = a.isoformat()
をしかし、それは2000年
としてデータベースに示します編集: + aの代わりに{0}を使ってみました。それでも私は、MySQLバージョン5.5.51-38.2
しかし、変数型はいずれかの方法で文字列です。私はstr(a)を使って完全な文字列型に変換しようとしましたが、そこにも運がありませんでした。 – user2726634
@ user2726634 * variable *は文字列ですが、私が示したケースでは違いがわかりますか?あなた自身の手動の例でさえ、あなたは引用符を持っています、なぜ実際のものにはありませんか? –
あなたは正しいです。私は当初理解していませんでした。しかし今、それは働いた! – user2726634