私は2つのうちの1つを試してみます。私がそのような完全なスクリプトを持っていなければならない場合、私はconn
を使って気にしません...私はサブプロセス呼び出しを行います。
# farm_out_to_os.py
cmd = """INSERT INTO table (title) VALUES ({})""".format(test))
subprocess.call("mysql -u{} -p{} < {}".format(uname, pwd, cmd), shell=True)
しかし、あなたはより多くのプログラムでそれをしたい場合は、多分SQLAlchemyの
# models.py
import sqlalchemy as db
from sqlalchemy import declarative_base
Base = declarative_base()
class MyTable(Base):
__tablename__ = 'mytable'
id = db.Column(db.Integer, primary_key=True)
val = db.Column(db.Integer)
def __init__(self, val):
self.val = val
とコードのような完全なORM使用することを検討してください:
# code.py
from sqlalchemy import create_engine, sessionmaker
engine = create_engine(config.SQLALCHEMY_URL)
session = sqlalchemy.sessionmaker(bind=engine)
newval = models.MyTable(val=5)
session.add(newval)
session.commit()
session.close()
はあなたがしようとしているかに依存しますするには
入力の最後にコミットコマンド 'conn.commit()'を追加します。これは、前のコマンドをdbにプッシュするように接続に指示します。 – James
x.executeの下にx.commit()を追加する必要がありますか? – GGA
はい。 'x.execute(...)'の後に 'conn.commit()'が続きます。 – James