我正在嘗試向表 Bridges 中插入一條新記錄,我相信該程序正在嘗試在 Bridges 表中使用 Bridge_ID 而不是 User_ID。我在 Ubuntu 操作系統上使用 MySQL 和 Python。我已經嘗試過的事情:搜索堆棧溢出(和許多其他站點)問我的老師干運行代碼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, '不能添加或更新子行: 外鍵約束失敗 ( BridgeBuilder. Bridges, CONSTRAINT Bridges_ibfk_1FOREIGN KEY ( Bridge_ID) REFERENCES User( User_ID))')如果需要更多細節(jié),我會更新帖子。
添加回答
舉報
0/150
提交
取消