三十四:数据库之SQLAlchemy外建及四种约束

使用SQLAlchemy创建外建,只需要在子表的字段中指定此字段的外建是哪个表的哪个字段即可,字段类型需和父表下该字段的类型保持一致

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

使用ondelete指定约束, 外建约束有以下几种:
1、RESTRICT:删除父表数据时,如果子表有数据在使用该字段的数据时,会阻止删除(默认为此约束)
2、NO ACTION:在MySQL中,同RESTRICT
3、CASCADE:级联删除,删除父表的某一条数据时,子表中使用该外建的数据也会被删除
4、SET NULL:父表数据被删除,删除父表的某一条数据时,子表中使用该外建的数据设置为NULL

1、RESTRICT:删除父表数据时,如果子表有数据在使用该字段的数据时,会阻止删除

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

2、NO ACTION:在MySQL中,同RESTRICT

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

3、CASCADE:级联删除,删除父表的某一条数据时,子表中使用该外建的数据也会被删除

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

删除父表的数据

三十四:数据库之SQLAlchemy外建及四种约束

 三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

4、SET NULL:父表数据被删除,删除父表的某一条数据时,子表中使用该外建的数据设置为NULL(前提是字段建表的时候没有设置nullable=False)

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

三十四:数据库之SQLAlchemy外建及四种约束

相关推荐