Mysql插入不在同一个表中的记录

时间:2018-04-13 02:14:05

标签: php mysql

大家好,我有这4条记录,如下所示。

-----fecha---
2018/03/01 0:05
2018/03/01 0:15
2018/03/01 0:20
--------------

它们在mysql中使用各自的id注册。

如果有方法或某些内容向我显示不匹配的记录,我想从mysql做什么

例如,我有几条记录,这些记录在5分钟到5分钟内如表中所示,我想要做的是mysql向我显示不存在的记录,例如,它不是

2018/03/01 0:10并且只显示

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您应该修复0:,因为它不是有效的小时值。

您可以使用DateTime执行以下操作,但需要定义开始值和结束值,我假设您在选择“fecha”数据时这样做。

<?php
// query this in a select
$result = [
    '2018/04/12 00:05',
    '2018/04/12 00:15',
    '2018/04/12 00:20', 
];

// define start/end by first and last items in array
$begin = DateTime::createFromFormat('Y/m/d H:i', min($result));
$end = DateTime::createFromFormat('Y/m/d H:i', max($result));

$interval = new DateInterval('PT5M'); // plus time 5 min
$daterange = new DatePeriod($begin, $interval ,$end);

// build an array to compare it with
foreach ($daterange as $date){
    $range[] = $date->format("Y/m/d H:i");
}

// array diff out the differences
print_r(array_diff($range, $result))
?>

https://3v4l.org/faWEY

<强>结果:

Array
(
    [1] => 2018/04/12 00:10
)