繁体   English   中英

如何从两个单独的列中减去时间戳,然后将此数据输入表中

[英]How to subtract timestamps from two seperate columns, then enter this data into the table

我正在尝试在树莓派上使用python和mysql创建登录,注销程序。 到目前为止,我已经成功创建了一个用于注册,登录和注销的系统,但是在最后一个组件方面遇到了麻烦。 我试图使用TIMESTAMPDIFF减去两个单独的时间戳(登录,登出),然后将此值输入到表中的单独列中。 但是,我正在使用的语句不起作用。

码:

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),因为我最初希望以秒为单位(也就是说,当我遇到自此以来已解决的其他问题时),其空状态设置为YES,并且默认为值为NULL。

谢谢您的帮助

您需要一个update查询而不是INSERT

UPDATE attendance 
SET `minutes` = TIMESTAMPDIFF(MINUTE, signin, signout);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM