外键
-
在Mysql中,外键可以让表之间关系变得更加紧密, 在SQlAlchemy中,
通过ForeignKey类来实现,并且可以指定表的外键约束
-
FroeignKey的导入
from sqlalchemy import ForeignKey
- 在从表中条件一个模型类.字段(属性)即可
uid = Column(数据类型(必须跟绑定主表类型一致), ForeignKey("表名.属性", ondelete="删除约束"))
外键关联的代码和示例图
图说明
外键约束的删除
如果删除了主表中的数据, 从表的数据会怎么样? 需要设置
"RESTRICT" : 主表数据被删除, 会阻止删除
"NO ACTION: 在mysql中, 同 RESTRICT"
"CASEADE" 级联删除, 如果主表删除了数据, 从表的数据也会跟在一起都删除
"SET NULL" 主表数据被删除, 从表数据会设置为NULL