如何选择重复结果,将结果插入新表并从原始表中删除? (phpmyadmin的)

时间:2016-08-01 14:21:01

标签: php mysql phpmyadmin

我有两个表,两个表都有相同的列名,如下所示

enter image description here

我有一个用于计时输入/输出的应用程序。用户前往平板电脑并选择其名称,然后将数据输入表格“时钟表”中。如上所示。

我需要做的是当用户第二次按下他们的名字(退出时间)时,它检测到表中已经有一个具有相同的employeename值的值,并将两个时钟移动到另一个表& #39; oldclocks'这样就可以记录进/出时间的记录。它需要在一个单独的表中的原因是我有一个网页,显示'时钟表'因此我们可以确定谁在建筑物内。

我该怎么做呢? 我可以执行

SELECT DISTINCT EmployeeName, time FROM clocktable ORDER BY EmployeeName
从myphp中

然后执行

INSERT INTO oldclocks SELECT Employeename, Department, time FROM clocktable;

之后,但我似乎无法同时执行它们以使它们进入PHP脚本。还有一种方法可以删除时钟表'中的选择结果。同时?

非常感谢帮助。

2 个答案:

答案 0 :(得分:2)

2个表格不是必需的。这是个坏主意。

为什么不简单地添加布尔IN_BUILDING,它将具有0 - > Not in building和1->在构建中。然后你可以这样做:

SELECT EmployeeName FROM clocktable WHERE IN_BUILDING = 0;将向您展示所有未参与建设的员工

SELECT EmployeeName FROM clocktable WHERE IN_BUILDING = 1;将向您展示正在构建那一刻的所有员工。

它也更容易,因为您可以在点击时轻松更改其值。

答案 1 :(得分:2)

你可以添加一个指标,其中1表示输入,0表示输出指示符。如果你想保存日志,那么只要指标的值发生变化,就会创建另一个表到INSERT的记录。

1-在table A中添加2个新属性,让我们说userid& in_out举个例子。

2- in_out = 1/0其中1表示输入,0表示输出

3- creat table B并插入userid&每次time值更改时都会in_out

这就是你如何知道建筑物内外的用户,还是你会保留每一步的记录