我正在尝试使用覆盆子pi上的python和mysql创建一个登录,注销程序。到目前为止,我已成功创建了一个用于注册,登录和注销的系统,但是最终组件出现问题。我试图使用TIMESTAMPDIFF减去两个单独的时间戳(signin,signout),然后将此值输入到表中的单独列中。但是,我使用的声明无效。
代码:
employee_id = raw_input("Please enter your ID number")
minutes_calc = "INSERT INTO attendance (minutes) WHERE id = %s VALUES (TIMESTAMPDIFF(MINUTE, signin, signout))"
try:
curs.execute(minutes_calc, (employee_id))
db.commit()
except:
db.rollback()
print "Error"
到目前为止表格结构(格式化道歉):
name | id | signin | signout | minutes |
Dr_Kerbal 123 2016-08-21 22:57:25 2016-08-21 22:59:58 NULL
请注意,我需要一个语句,它可以减去时间戳而不管它们的值,而不是一个关注示例中特定时间戳的语句。
此外,列分钟的数据类型是十进制(10,0),因为我最初打算以秒为单位(当我遇到其他已经解决的问题时),其null状态设置为YES,并且默认值为NULL。
感谢您的帮助
答案 0 :(得分:0)
您需要update
查询而不是INSERT
UPDATE attendance
SET `minutes` = TIMESTAMPDIFF(MINUTE, signin, signout);