Java MySQL:考勤监控应用程序故障

Java MySQL:考勤监控应用程序故障,java,mysql,timestamp,timeout,monitoring,Java,Mysql,Timestamp,Timeout,Monitoring,如何更新特定字段而不使用同一行字段替换所有其他字段 例如:我想改变这个。(图1) 至(图2) date\u id employee\u id time\u in time\u out 1 3 1:00P 2:00P 2 3:20P 3:49P 3 2>5:10P 6:29P< 但实际情况是,它又回到了图1。 重写与员工id值相同的所有字段。 还有其他方法吗 我使用的查询: 更新“考勤”设置的超时=?其中employee_id= 是的,我正在制作简单的时间输入和时间输出应用程序(Java) [解

如何更新特定字段而不使用同一行字段替换所有其他字段

例如:我想改变这个。(图1)

至(图2)

date\u id employee\u id time\u in time\u out
1 3 1:00P 2:00P
2 3:20P 3:49P
3 2>5:10P 6:29P<
但实际情况是,它又回到了图1。 重写与员工id值相同的所有字段。 还有其他方法吗

我使用的查询:

更新“考勤”设置的超时=?其中employee_id=

是的,我正在制作简单的时间输入和时间输出应用程序(Java)


[解决了我的问题]但不是问题,无法使用“employee_id”更新它。

如果没有主键,请使用主键来标识确切的行 试着这样做:

UPDATE 'attendance' SET time_out = ? WHERE employee_id = ? AND date_id=?

正如chalitha lawanga所说,但要简单一点:

UPDATE 'attendance' SET time_out = ? WHERE date_id = ?

如果
date\u id
是PK,那么在您的声明中就不需要
employee\u id

好的,谢谢,这可能会有帮助,让我在尝试用Java编写代码后再联系您。我对数据库逻辑非常陌生。这是一个非常简单的逻辑,你只需要考虑特定行的唯一数据。但我只需要使用员工id。不要碰日期id(唯一的)。但是对答案进行编码仍然有问题。如果不触摸
日期\u id
,就无法更新您的行。因此,我看不到我想要的,谢谢您的回复。我想要的是只使用employee_id(它有许多重复项,并且不是唯一的)来更新timeout。所以我稍微改变了一下我的程序,所以我想现在可以了。实际上我需要这个员工id来确定是谁计时的。@PaulØmega,但不需要它。如果
date\u id
是主键,那么
employer\u id
是多余的。我需要员工id,以便以后在报告中使用。您不需要从表中删除
employee\u id
列@romanoza说在更新特定行时只使用
date\u id
行。@PaulØmega没错。您应该仅从
UPDATE
语句中删除
employee\u id
,而不是从表中删除。
UPDATE 'attendance' SET time_out = ? WHERE employee_id = ? AND date_id=?
UPDATE 'attendance' SET time_out = ? WHERE date_id = ?