私はまだFlask-mysqlを使用しています(この理由だけdownvoteをしないでください...)。このFlask-mysqlをコミットする方法は?
データベースコンテキスト(mysql変数)が正常に取得されており、データベース/クエリ結果を取得できます。それは動作していない挿入だけです:それは不平を言っていません(例外を投げる)。挿入メソッドからTrue
を返します。
それがコミットするときには、レコードを挿入実行する必要がありますが、私はMySQL Workbench
でMySQLデータベースを見ると、いくつかの理由で、何もテーブルに挿入していない取得され(それはinsertメソッドから例外を投げていない):
私はinsertCmd
に、この中で渡している:
"INSERT into user(username, password) VALUES ('test1','somepassword');"
は、私は、データベース内の列の長さをチェックし、(それが成功し、テーブルに行を挿入)MySQL Workbench
にコマンドをコピーしました。
私は迷っています。私が見たすべての例は、この形式に従っているようですが、私は良いデータベース・コンテキストを持っています。あなたは私がコメントで試したことが他のものを見ることができます。
def insert(mysql, insertCmd):
try:
#connection = mysql.get_db()
cursor = mysql.connect().cursor()
cursor.execute(insertCmd)
mysql.connect().commit()
#mysql.connect().commit
#connection.commit()
return True
except Exception as e:
print("Problem inserting into db: " + str(e))
return False
をあなたの最後の 'false'をが;-) –
おかげでデッドコードで返します!それを今試みている。また、ローラン、それを指摘してくれてありがとう。最後のリターンを削除します。 – JakeJ
作品!どうもありがとう!コメントの中の私の試みがそれに絡み合っていない理由は考えられませんでした。私がコネクションにコミットしていると断言できましたか?私は今それを慎重に調べなければならないでしょう。 – JakeJ