Php 避免在两次之间插入sql
我试图避免在数据库中插入多个sql。我们的想法是在再次插入之前至少等待5分钟 使用获取上次插入的时间Php 避免在两次之间插入sql,php,mysql,Php,Mysql,我试图避免在数据库中插入多个sql。我们的想法是在再次插入之前至少等待5分钟 使用获取上次插入的时间 $query ="SELECT fecha FROM almacen WHERE fecha > NOW() - INTERVAL 5 MINUTE ORDER BY id DESC LIMIT 1" $espera=mysqli_query($conexion, $query) if (empty($espera)) { inserting code } else { close }
$query ="SELECT fecha
FROM almacen
WHERE fecha > NOW() - INTERVAL 5 MINUTE
ORDER BY id DESC LIMIT 1"
$espera=mysqli_query($conexion, $query)
if (empty($espera)) { inserting code } else { close }
但是当查询应该返回值时,它什么也不返回。我想这可能是个问题,因为date是使用phpdate(“j/n/Y h:I”)插入的代码>
我应该更改时间格式吗?我应该使用什么?如果您想将行限制为每5分钟只有一个条目,我会:
创建一个名为insert_interval DATE
的列,并在该列上创建唯一索引。然后尝试插入,将插入间隔的值设置为
插入时间的间隔为5分钟
例如,将日期标准化为5分钟间隔
select now() - interval (mod(minute(now()),5)) minute - interval second(now()) second;
插入
insert into table(columns ..., insert_interval) values(
..., now() - interval mod(minute(now()),5) minute - interval second(now())
);
从小时开始,每5分钟仅允许一行。从00:00:00到00:04:59,依次类推。任何在该时间窗口中插入另一行的尝试都将导致重复的键错误,您可以捕获该错误并采取适当的操作
取消对上一次插入的注释以查看生成架构上的错误。存储日期时,应使用默认的mysql日期语法。该字段也应该是mysql的日期类型之一。如果你想让它以另一种方式显示,请使用你的应用程序,而不是mysql。我同意。如果希望在任何时候返回数据,您可以使用函数以您想要的方式显示数据。请说明列的确切数据类型,以及插入值的PHP代码行。向我们展示almacen表结构和一些示例数据。您还确定有符合您要求的条目吗?阅读注释后,数据类型为datetime,now()sql函数正确存储。我遇到的一个奇怪的问题是,如果我使用此代码emptyno empty
则会显示no empty,但如果我在phpmyadmin中运行sql查询,则会显示empty。