好了,我有一个表,其中有学生id和学生id是作为标识符来编辑列,但如果同一个学生借了一本书两次,那么所有的学生值将b编辑,我不想....我想最后输入的数据的学生id b编辑和使用一个Sl.没有是一个解决方案,因为它实际上是复杂的。我使用Python连接器。请帮助:)提前感谢
我现在使用的代码:
con = mysql.connect(host='localhosT', user='root',
password='*****', database='DB')
c = con.cursor()
c.execute(
f"UPDATE library set `status`='Returned',`date returned`='{str(cal.selection_get())}' WHERE `STUDENT ID`='{e_sch.get()}';")
c.execute('commit')
con.close()
messagebox.showinfo(
'Success', 'Book has been returned successfully')
1条答案
按热度按时间zbq4xfa01#
如果我理解正确的话,您只想更新一条符合
where
条件的记录。为了以可靠的方式完成此操作,您需要一个列来定义记录的顺序。它可以是一个日期,一个递增的id,或者其他。我假设这样的列存在于你的表中,名为ordering_column
。一个简单的选项是在
UPDATE
语句中使用ORDER BY
和LIMIT
,如下所示:请注意,我修改了代码,因此输入值作为参数给出,而不是连接到查询字符串中。这是一个重要的变化,它使你的代码更安全,更高效。