gpt4 book ai didi

python - 错误 1452 'Cannot add or update a child row'

转载 作者:行者123 更新时间:2023-11-29 16:24:12 25 4
gpt4 key购买 nike

我正在尝试将新记录插入到 Bridges 表中,我相信该程序正在尝试使用 Bridges 表中的 Bridge_ID 而不是 User_ID。我在 Ubuntu 操作系统上使用 MySQL 和 Python。

我已经尝试过的事情:

  1. 搜索了堆栈溢出(以及许多其他网站)

  2. 问我的老师

  3. 试运行代码

sql DDL:

CREATE TABLE User ( 
User_ID INT NOT NULL AUTO_INCREMENT,
Username VARCHAR(30) NOT NULL,
Email VARCHAR(50) NOT NULL,
Password VARCHAR(64) NOT NULL,
PRIMARY KEY (User_ID)
);


CREATE TABLE Bridges(
User_ID INT NOT NULL,
Bridge_ID INT NOT NULL AUTO_INCREMENT,
Bridge_Name VARCHAR(30) NOT NULL,
BridgeFile BLOB NOT NULL,
Date_Last_Edit DATE NOT NULL,
Difficulty VARCHAR(10) NOT NULL,
Land_Type INT NOT NULL,
PRIMARY KEY (Bridge_ID),
FOREIGN KEY User_ID REFERENCES User(User_ID)
);

值得注意的是,info['User_ID'] 不会从 1 改变,并且在插入记录之前,会回显 User_ID 保存的值以确认这一点。

进行的查询是:

command = ('INSERT INTO Bridges 
(User_ID,Bridge_Name,Date_Last_Edit,
BridgeFile,Difficulty,Land_Type)
VALUES ("%s","%s",CURDATE(),"%s","%s","%s");' %(info['User_ID'],name,adjacencyList,info['dif'],info['land']))

错误是:

(1452, 'Cannot add or update a child row: a foreign key constraint fails (BridgeBuilder.Bridges, CONSTRAINT Bridges_ibfk_1 FOREIGN KEY (Bridge_ID) REFERENCES User (User_ID))')

如果需要更多详细信息,我会更新帖子。

最佳答案

您应该检查值 info['User_ID'] 是否正确。表Bridges 要求表User 中存在User_ID

关于python - 错误 1452 'Cannot add or update a child row',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54350493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com