首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当使用MySQL和SQLite时,查询返回不同的数据

当使用MySQL和SQLite时,查询返回不同的数据
EN

Stack Overflow用户
提问于 2015-06-01 11:45:40
回答 1查看 94关注 0票数 3

当我用SQLAlchemy查询下面的模型时,我没有得到预期的结果。

代码语言:javascript
运行
复制
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True)

    def __repr__(self):
        return '<User %r>' % self.username

我直接创建了MySQL表,然后提交了一些数据:

代码语言:javascript
运行
复制
mysql> CREATE TABLE "users" (id INTEGER, username VARCHAR(64));

mysql> select * from users;  
+------+-------------+---------+  
| id   | username    | role_id |  
+------+-------------+---------+  
| NULL | yzxu        | NULL    |   
| NULL | after       | NULL    |  
+------+-------------+---------+  

使用MySQL时,SQLAlchemy查询返回None

代码语言:javascript
运行
复制
>>> User.query.filter_by(username='after').all()
[None]

使用SQLite时,会返回正确的用户名。

代码语言:javascript
运行
复制
>>> db.create_all()
>>> db.session.add(User(username='after'))
>>> db.session.commit()
>>> User.query.filter_by(username='after').all()
[<User u'after'>]
EN

回答 1

Stack Overflow用户

发布于 2015-06-01 13:56:40

MySQL表是我在没有使用SQLAlchemy的情况下手动创建的。它缺少id上设置的主键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30565350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档