【发布时间】:2015-02-17 23:58:48
【问题描述】:
我在quickstart tutorial 之后有一个简单的 Peewee 数据库模型,我正在尝试向数据库添加一个实例。它返回错误,
'你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 \'WHERE (
image.url= \'foo\')\' 附近使用正确的语法
我尽可能地将代码配对,但我找不到我的错误。这是我的最小且可重现的模型(我希望它可以在我的机器上重现)示例。编辑MySQLDatabase 调用以适合您的设置。我从一个名为“test”的空数据库开始。
from peewee import *
database = MySQLDatabase('test', **{'password': '1234', 'user': 'root'})
class BaseModel(Model):
class Meta:
database = database
class Image(BaseModel):
url = CharField(primary_key=True)
database.connect()
database.create_tables([Image])
image_url = 'foo'
image_entry = Image(url=image_url)
image_entry.save()
错误是由示例代码的最后一行引发的。如果我查看我的数据库,我可以看到表 'image' 已成功创建。
describe image;
返回
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| url | varchar(255) | NO | PRI | NULL | |
+-------+--------------+------+-----+---------+-------+
该表仍然是空的,因为错误出现在保存语句期间。
select * from image:
返回
Empty set(0.00 sec)
【问题讨论】:
-
如果有人可以确认这是可重现的,那也会有所帮助。
-
@philipxy 这是我的示例中的疏忽。我将添加此调用和更多详细信息,但我仍然收到错误消息。
标签: python mysql syntax-error primary-key peewee