【发布时间】:2014-09-02 12:51:24
【问题描述】:
我认为 python 和 mysql 存在权限问题。这是我的测试代码test.py
#!/usr/bin/python
import MySQLdb
#change the host, user, passwd, and db below as necessary
db = MySQLdb.connect(host="localhost", user="username", passwd="password", db="database")
cur = db.cursor()
cur.execute("SELECT * from table")
a = cur.fetchall()
print "pre values"
print a
cur.execute("insert into table values(3)")
db.commit
cur.execute("SELECT * from table")
a = cur.fetchall()
print "updated values"
print a
cur.close()
db.close()
当我在 shell 中执行 mysql 并尝试插入值时,用户名/密码肯定有效,所以假设我的表中已经有值 1 和 2。这会尝试向它写入 3 并提交它。
打印出来
pre values
(('1',), ('2',))
updated values
(('1',), ('2',), ('3',))
当我尝试再次运行完全相同的脚本时,它会给出完全相同的输出。因此,尽管显示它肯定已添加到数据库中,但它并没有添加到数据库中。当我在 shell 中进入 mysql 并查看表时,它确实没有插入新值。
我查过的每个地方都一遍又一遍地告诉我有 db.commit,我这样做了,所以我现在很困惑。
编辑:我还转到了我计算机上数据库的位置(一切都在我的本地计算机上)并 chmod'd 777 到数据库和包含它的文件夹。
【问题讨论】:
标签: python mysql permissions mysql-python