Can';t从python写入mysql数据库
我正在尝试将一个对象保存到mysql表中。我用一个表创建了一个数据库,在这个表中有一个文本列 我的实际代码是Can';t从python写入mysql数据库,python,mysql,Python,Mysql,我正在尝试将一个对象保存到mysql表中。我用一个表创建了一个数据库,在这个表中有一个文本列 我的实际代码是 conn = MySQLdb.connect(host='localhost', user='root', passwd='password',db='database') x = conn.cursor() x.execute("""INSERT INTO table (title) VALUES (%s)""", (test,)) 其中test是我从json解析创建的
conn = MySQLdb.connect(host='localhost', user='root', passwd='password',db='database')
x = conn.cursor()
x.execute("""INSERT INTO table (title) VALUES (%s)""", (test,))
其中test是我从json解析创建的对象。输入此命令后,python显示1L,但在sql中显示1L
select * from table;
什么也没出现,怎么了?我想试试两件事中的一件。如果我必须使用这样的完整脚本,我就不用麻烦使用
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)
以及守则:
# 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()
取决于您尝试执行的操作:)您需要提交对数据库所做的更改。使用:
x.execute(...)
conn.commit()
将commit命令
conn.commit()
添加到输入的末尾。这告诉连接将前面的命令推送到db。是否必须在x.execute下添加x.commit()?是x.execute(…)
后跟conn.commit()
。它说AttributeError:“Cursor”对象没有属性“commit”!对不起,我是说conn.commit()
x.execute(...)
conn.commit()