簡體   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