帮我设计一个mysql习题练习记录表 其中要包括 练习时间 答案正确与否 还要关联到 习题 要使用flask_sqlalchemy 并帮我写一个添加记录函数
时间: 2023-05-11 22:03:25 浏览: 122
好的,我可以帮您设计一个MySQL习题练习记录表。以下是表的结构:
表名:exercise_record
字段:
- id:记录ID,自增长整数类型
- exercise_id:习题ID,整数类型,关联习题表
- exercise_time:练习时间,日期时间类型
- is_correct:答案是否正确,布尔类型
- created_at:记录创建时间,日期时间类型
- updated_at:记录更新时间,日期时间类型
使用Flask-SQLAlchemy,您可以定义一个ExerciseRecord模型类来映射这个表:
```python
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class ExerciseRecord(db.Model):
__tablename__ = 'exercise_record'
id = db.Column(db.Integer, primary_key=True)
exercise_id = db.Column(db.Integer, db.ForeignKey('exercise.id'), nullable=False)
exercise_time = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
is_correct = db.Column(db.Boolean, nullable=False)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
def __repr__(self):
return f'<ExerciseRecord {self.id}>'
```
其中,exercise_id字段关联了习题表的id字段。接下来,您可以编写一个添加记录的函数,如下所示:
```python
def add_exercise_record(exercise_id, is_correct):
record = ExerciseRecord(exercise_id=exercise_id, is_correct=is_correct)
db.session.add(record)
db.session.commit()
return record
```
这个函数接受两个参数:exercise_id和is_correct,分别表示习题ID和答案是否正确。它会创建一个新的ExerciseRecord对象,并将其添加到数据库中。最后,它会返回这个新记录的对象。