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

时间:2016-08-22 03:25:28

标签: python mysql raspberry-pi

我正在尝试使用覆盆子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。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您需要update查询而不是INSERT

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