SQlite通过外键更新记录

2024-09-27 22:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的代码,我需要通过一个用户ID号更新一个记录。当值被输入到ExerciseWeight的输入框中时,单击一个按钮来更新记录Exercises是第一个具有外键ID的表,该外键链接到memb表中的MemberID。我为此创建了一个UPDATE查询,代码如下:

    def Update(self):

    global MemberID

    connection = sqlite3.connect(r"E:\TESTING\Program\Accounts.db")

    cursor = connection.cursor()


    Exercise = self.Exercises.get()
    Weight = self.Weights.get()
    MemberID = self.ent_MemberID.get()

    List = [Exercise, Weight]


    cursor.execute("UPDATE Exercises SET Exercise=?, Weight=? WHERE ID = (SELECT MemberID FROM memb WHERE MemberID = ?);",(Exercise, Weight, MemberID))

    connection.commit()

它不会显示任何错误,但不会将数据输入表中。这是我用来创建Exercises表的代码:

CREATE TABLE `Exercises` (
`Exercise`  TEXT,
`Weight`    INTEGER,
`Reps`  INTEGER,
`Sets`  INTEGER,
`ID`    INTEGER,
PRIMARY KEY(`ID`),
FOREIGN KEY(`ID`) REFERENCES `memb`(`MemberID`)
);

Tags: 代码selfidget记录updateintegerconnection

热门问题