我的表中有date和time列。我要选择日期和时间大于当前时间加一个小时的所有对象:
我尝试过以下几种方法:
SELECT * FROM mytable WHERE date >= CURDATE() AND time >= TIME(NOW()+INTERVAL 1 hour)
然而,这在逻辑上是不正确的。如果日期是明天,且时间小于当前HH:MM,则不会选择该记录。如何使用我的日期和时间与当前日期时间进行比较?我正在使用php 5.2和mysql
在MySQL中,我们如何检查当前日期和时间在两个字段之间,这两个字段都存储着开始日期时间和结束日期时间,我尝试了如下所示,但是它不返回任何记录,代码如下
SELECT *
FROM tbl_user_rig_rentals
WHERE (NOW( ) BETWEEN amount_paid_date AND mining_end_date)
其中amount_paid_date是2014-07-09 12:53:26,mining_end_date是2014-07-09 03:30:26
我使用的是MySql 5.5.46,并且有一个包含位列的InnoDB表(名为“ENABLED”)。此列没有索引。该表有2600万行,所以可以理解的是,语句
DELETE FROM my_table WHERE ENABLED = 0;
需要很长时间。我的问题是,有什么我可以做的(不升级MySQL,这目前不是一个选项),以加快运行这个查询所需的时间?我的“innodb_buffer_pool_size”变量设置如下:
show variables like 'innodb_buffer_pool_size';
+-------------------------+--------
我想要获取在最后10秒中添加的记录。我有一个"zaman“列,它具有记录的时间戳,它指示何时添加。
我试过这个,但是它不起作用(没有错误)
mysql_query("SELECT * FROM notifs where writer='".$member[nick]."' AND
zaman >= DATE_SUB(NOW(),INTERVAL 10 SECOND) ORDER BY id DESC limit 5")
or die(mysql_error());
正确的方法是什么?
在我的站点上,我经历了相当高的服务器负载时间,我正在考虑优化一些mysql查询的方法。
我现在做的是:
首先,我数表中所有的汽车,有一定的criteria;If,数大于20,用这些查询数较小的,我做一个更一般的搜索,只是为了给出页面上的一些结果。<code>G 215</code>
有更快的方法吗?
似乎我正在放松性能,使用特定的标准**计数行,并再次查询它们以获取数据。
$car_sql = mysql_query("SELECT COUNT(*) FROM ".$table." WHERE carid IS NOT NULL $criteri
我使用的是一个PHP脚本,它可以长时间连续执行(一次性映射脚本),并将数据插入到MySQL数据库中。该脚本运行良好,但最终(一两分钟后)出现错误:
MySQL server has gone away
我已经更改了mysql连接超时和php脚本执行超时的ini设置,但都没有更改结果。
我在过去做过一个非常类似的脚本,它在同一台服务器上运行了很长一段时间,没有遇到这个错误。
我感谢您的时间,希望您的帮助可以让我解决这个问题,以及任何其他沮丧的脚本作者在未来遇到这篇文章。
在前面的一个问题中,关于如何限制表单在一小时内提交的次数,有人这样说:
select count(*) from mysql_table where uid='$uid' and timestamp > (DATE_ADD(now(), INTERVAL -1 HOUR););
这看起来是可行的,但我不知道是怎么回事。首先,我想用IP替换uid:
select count(*) from mysql_table where ip='$ip' and timestamp > (DATE_ADD(now(), INTERVAL -1 HOUR););
我刚刚发现使用InnoDB引擎的MySQL的以下行为。有没有办法解释执行时间上的显著差异?
第一个查询:
SELECT ask FROM history_time WHERE ask> 1.5790 AND timestamp BETWEEN 1207000800290 AND 1207690900290
执行时间:0.715秒
EXPLAIN: '1', 'SIMPLE', 'history_time', 'range', 'PRIMARY,timestamp,ask,ask_2
在过去的3天里,我一直在执行长时间的SQL查询,没有任何问题,包括今天早上我运行超过1200秒的查询。
但现在我得到了:
> ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query
执行示例如下:
marcelo@node:~$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepa
嗨,我有在mysql的球员表。
我需要选择那些在联盟中6个月没有打过比赛的不活跃的球员。
例如->
select * from players where player (matchplayed == true && (in last 6 months condition));
我是mysql的新手
所以想要一些帮助如何处理时间。
我有一个从MySQL返回的记录,它有一个datetime字段。我想要做的是获取这个值,看看它是否早于24小时,我假设使用PHP的time()来获取当前时间。
现在,如果我把它们说出来,我会得到:
1276954824 this is php's time()
2010-06-19 09:39:23 this is the MySQL datetime
我假设最上面的是unix时间?一直在尝试strtotime,但收效甚微..
欢迎使用ANy帮助!
我想搜索活跃会话超过100的终端,我使用的表是terminal_server_log,因为每个终端都有很多日志,所以我必须确保“时间戳”是最新的。我已经尝试了两种方法进行搜索。请注意,对于每个终端,最新的时间戳都不相同。
$termquery=mysql_query("select distinct(terminal) from
terminal_server_log where activesession > 100
group by terminal order by timestamp limit 1");
while($termres=mysql_