繁体   English   中英

无法删除或更新父行:外键约束失败 SQL 错误

[英]Cannot delete or update a parent row: a foreign key constraint fails SQL error

我正在尝试使用 y 前端(前端在 reactjs 中)上的删除按钮删除产品行,但它会在 python SQL 服务器上引发此错误消息。 ysql.connector.errors.IntegrityError: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails ( grocery_store.order_details . , CONSTRAINT fk_product_id FOREIGN KEY ( product_id ) REFERENCES products ( product_id ) ON UPDATE RESTRICT)

删除路线代码:

@app.route('/delete', methods=['POST'])
def delete_product():
    return_id = products_dao.delete_product(connection, request.json["product_id"])
    response = jsonify({
        'product_id': return_id
    })
    response.headers.add('Access-Control-Allow-Origin', '*')
    return return_id

product_dao.py 文件代码

def delete_product(connection, product_id):
    cursor = connection.cursor()
    query = ("DELETE FROM products where product_id={}".format(product_id))
    cursor.execute(query)
    connection.commit()
    return "product deleted"

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

Postman 请求: 在此处输入图像描述

您的错误是不言自明的,您有外键引用,您必须先删除/更新子表中的值,然后再删除父表,或者使用ON DELETE/UPDATE CASCADE自动执行相同操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM