【发布时间】:2015-03-07 16:18:11
【问题描述】:
我是 MySql 和 MySQLdb 的新手。但是我已经尝试了几个小时来解决这个问题。
我有一张这样的桌子:
mysql> 描述用户;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(25) | YES | | NULL | |
| password | varchar(25) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
代码部分:
def connect_db():
conn = MySQLdb.connect(user='root',
passwd='',
db='flask',
host='localhost')
return conn
cur = connect_db().cursor()
cur.execute("DROP TABLE IF EXISTS users")
cur.execute("CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, \
username VARCHAR(25), password VARCHAR(25))")
str = "INSERT INTO users ('id', 'username', 'password') VALUES (NULL, %s, %s)"
cur.execute(str % ('admin', 'password'))
我收到这样的错误:
> Traceback (most recent call last): File
> "C:\Users\Emil\Desktop\flaskr\flaskr.py", line 29, in <module>
> cur.execute(str % ('admin', 'password')) File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 202, in
> execute
> self.errorhandler(self, exc, value) File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in
> defa lterrorhandler
> raise errorclass, errorvalue
> _mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL synta ; check the manual that corresponds to your MySQL server
> version for the right yntax to use near ''id', 'username', 'password')
> VALUES (NULL, admin, password) at line 1")
我猜我的 INSERT 命令有问题。我不知道该怎么做,并尝试搜索可能对 google 有帮助的内容。
【问题讨论】:
标签: python mysql mysql-python