文章内容

2019/8/4 11:34:06,作 者: 黄兵

[HY000][1215] Cannot add foreign key constraint

今天在用SQLAlchemy建库的时候出现如下错误:

[HY000][1215] Cannot add foreign key constraint


出现错误的原因:

无法添加外键映射。

最后经过排查,主要是在另外一张表中没有设置索引。


解决方案:

Model代码如下:

# Order
class Order(db.Model):
    __tablename__ = 'order'
    id = db.Column(db.Integer, primary_key=True, index=True)
    order_id = db.Column(db.String(64))
    user_shopping_cart_id = db.Column(db.Integer, db.ForeignKey('user_shopping_carts.id'))
    payment_success_id = db.relationship('PaymentSuccess', backref='order', lazy='select')

另外一张表:

# payment success
class PaymentSuccess(db.Model):
    __tablename__ = 'payment_success'
    id = db.Column(db.String(64), primary_key=True, index=True)
    order_id = db.Column(db.String(64), db.ForeignKey('order.order_id'))

主要是在Order表中,order_id需要设置索引。


参考资料:

1、如何处理 MySQL错误码 1215:无法添加外键约束?


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - [HY000][1215] Cannot add foreign key constraint

分享到:

发表评论

评论列表