草庐IT

datetime_select

全部标签

php - 1250 - 来自其中一个 SELECT 的表 'sub' 不能在全局 ORDER 子句中使用

我正在尝试制作一个用于学习目的的聊天网站,因此在此过程中,我希望最后30条消息按升序显示w.r.t.时间。比如,最新的消息在底部,最旧的消息在顶部。经过大量的谷歌搜索,但没有找到任何有帮助的解决方案,我不得不问这个问题。这是MySQL语句。它返回我想要的数据,但按降序排列。也就是说,最新的在顶部。即使我将ASC更改为DESC,也没有任何反应。SELECT*FROM(SELECTmsg,senderFROMchatlogsWHEREuser1='userone'ANDuser2='usertwo'ORDERBY'timeofmsg'DESCLIMIT30)subORDERBY'sub.t

MySQL InnoDB "SELECT FOR UPDATE"- 跳过锁定等效

当我们在MySQL中使用InnoDB表进行“SELECTFORUPDATE”时,有什么方法可以跳过“锁定的行”吗?例如:航站楼t1mysql>starttransaction;QueryOK,0rowsaffected(0.00sec)mysql>selectidfrommytableORDERBYidASClimit5forupdate;+-------+|id|+-------+|1||15||30217||30218||30643|+-------+5rowsinset(0.00sec)mysql>同时,终端t2:mysql>starttransaction;QueryOK,0r

sql - 使用 SELECT 结果集通过 MySQL 存储过程运行 UPDATE 查询

我想了解MySQL存储过程,我想检查用户登录凭据是否有效,如果有效,则更新用户在线状态:--DROPPROCEDUREIFEXISTScheckUser;DELIMITER//CREATEPROCEDUREcheckUser(INin_emailVARCHAR(80),INin_passwordVARCHAR(50))BEGINSELECTid,nameFROMusersWHEREemail=in_emailANDpassword=in_passwordLIMIT1;--Ifresultis1,UPDATEusersSETonline=1WHEREid="result_id";END/

MySQL - Perl : How to use an array with IN within a select query?(在(@array)中)

这是我在这里解决的问题的补充:howtogetarrayofzipcodeswithinxmilesinperl好的,我有数组@zips。现在我正尝试在这样的查询中使用它:SELECT`club_name`,`city`FROM`table`WHERE`public_gig`='y'AND`zip`IN(@zips)#Ialsotriedsyntax"IN("@zips"),IN@zipsandIN('@zips')"但是,我无法让它工作。(我正在使用占位符,如您在上面的链接中看到的那样。)我能够让它工作:$fzip=shift(@Zips);$lzip=pop(@Zips);SELE

mysql - 为什么 SELECT 1 的多行 COUNT(*) 总是 1?

SELECTCOUNT(*)FROM(SELECT1FROM...UNIONSELECT1FROM...UNIONSELECT1FROM...)astmp_table尽管结果集包含多行,COUNT(*)将始终返回1...为什么? 最佳答案 UNIONSELECT自动对您的结果进行分组,这意味着您不会看到重复的行。您需要的是UNIONALLSELECT...,这样您的结果将不会被分组,您将看到重复的行。重复行的意思,因为你总是选择1,所以它按1分组。 关于mysql-为什么SELECT1的

mysql - 检查存储过程中的 select 语句是否返回行

如何检查存储过程中的select语句是否返回任何行。select*fromcreditcards;Ifsqlcod=0THEN例如,我想做这样的事情,但sqlcod似乎在MySql中不起作用。 最佳答案 尝试使用COUNT,DELIMITER$$CREATEPROCEDUREprocName()BEGINSET@recCount=(selectcount(*)fromcreditcards);If@recCount=0THEN--statementhere;ENDIF;END$$DELIMITER;

两列之间的Mysql datetime

我在事件表中有两列(均为日期时间)startDate和endDate。我正在使用php的date()函数检索当前日期。这导致例如2013-03-12。现在有三种可能性的事件结合今天发生的日期:事件在这一天开始,也在这一天结束一项事件提前开始,今天结束事件从今天开始但在未来结束(>=2013-03-13)现在我想将这些全部分解成单独的查询,因为我不习惯处理日期。我从第一个查询开始,但我已经失败了。我尝试了以下方法:SELECT*FROMeventsWHERE(startDate='2013-03-12'ANDendDate='2013-03-12')还有:SELECT*FROMevent

mysql - 在 WHERE 中使用来自 SELECT 的值

所以我选择了一个名称和与该名称相关的一些运动,我只需要在该运动数大于1时选择它们。SELECTDISTINCTnameASFullName,(SELECTCOUNT(id)FROMcoachesWHEREcoaches.name=FullName)ASNrOfSportsFROMcoachesWHERENrOfSports>1如果WHERE被删除,查询工作正常并显示所有行,其中有些行只有“1”作为NrOfSports。当我将它添加到WHERE子句时,我收到一个错误,因为它无法被识别。这让我感到困惑,因为如果我在另一个SELECT列中使用它,它会正常工作。有没有办法做到这一点?它不能依赖

mysql - 键值表的 "SELECT .. WHERE .. AND .."(两个条件)?

我想做什么我试图通过询问type=x和target=x来获取commentId,通常(THISISAEXAMPLE),表的结构应该是这样的:+-----------+-------+--------+|commentId|type|target|+-----------+-------+--------+|1|post|2||2|post|8||3|video|6|+-----------+-------+--------+在这种情况下,我可以使用此查询来获取commentId:SELECT`commentId`FROM`comment_datas`WHEREtype='post'AN

php - MySQL -PHP 插入 DATETIME

谁能指导我如何通过PHP脚本从iphone将DATETIME字段插入MySQL数据库。$dates=date('Y-m-dH:i:s','2010-10-1215:09:00');$query="INSERTINTOtimeTable(time)VALUES('$dates')";谢谢你.. 最佳答案 对于作为第二个参数的date()函数,您应该传递一个时间戳。$dates=date('Y-m-dH:i:s',strtotime('2010-10-1215:09:00'));但是你已经有了很好的状态,所以你应该这样做:$dates=