草庐IT

last_date

全部标签

php - 如何按投票 "by date"、 "by year".. 进行排序?

我要实现的与我们在SO上的类似。我想按最后一天、上个月等的投票对帖子进行排名。我的架构由两个表组成,post(id,post,posted_on..)vote(post_id,vote_value,date)我希望该架构能够很好地self解释。问题是,如果我通过对帖子进行内部连接并投票并具有where子句('votes.date>=DATE_SUB(CURDATE(),INTERVAL1DAY')来“按天”排序,它确实按预期工作但未能显示其他帖子。我的意思是完全忽略了最后一天没有投票的帖子。我想要的是这些帖子被赋予低优先级但确实显示在查询中。虽然,我可能会考虑使用联合操作,但我一直在寻

java - MYSQL LAST_INSERT_ID 未按预期工作。我该如何解决?

我编写了MySQLStoredProcedure来为每个表值创建和返回新ID,但是,它在MySQLWorkBench和Java应用程序的last_insert_id()上得到了错误的值。此过程将从多个session中调用。CALL`GET_NEW_ID`('test',@test);select@test;它给我“141215000000”,这意味着last_insert_id()始终返回0。不过,我看到它正确地将新数据插入到seq_data中。CREATEPROCEDURE`GET_NEW_ID`(INV_TABLEVARCHAR(10),OUTV_IDVARCHAR(12))BEG

java - 隔夜出现 MySql 错误 - "Last packet sent to the server was 0 ms ago"

我似乎在一夜之间在我的应用程序中遇到了异常。我的环境是一个使用Tomcat的JavaWeb应用程序,用Java6编写并在MySQL上运行,使用Hibernate3连接到数据库(使用MySQL连接器5.0.3-mysql-connector-java-5.0.3-bin。jar)有一个计划作业在夜间运行(使用quartz作为调度程序)并且在凌晨3点运行时,它在尝试访问数据库时出现以下异常(注意,我已将堆栈跟踪的位重命名为“xxx"因为它是我工作的公司的内部代码):03:00:00ERRORbernate.transaction.JDBCTransaction:JDBCbeginfaile

mysql - MySQL 的 H2 中的 DATE_SUB 和 DATE_ADD

我使用MySQL作为我的数据库,使用H2进行测试。我也在使用playframework2.3.x和Scala,但我认为这对问题的目的无关紧要。H2与我在查询中使用的某些函数有冲突SELECT*FROMsubscriptionsWHEREactive_until>=(DATE_SUB(CURDATE(),INTERVAL3DAY))ANDactive_until导致问题的函数是DATE_SUB和DATE_ADD。是否有一种变通方法可以使它工作或更改查询而不破坏mysql的查询? 最佳答案 终于解决了。我必须将DATE_ADD更改为TI

mysql - 当在 mysql 中输入为 null 时,为 date_format 返回 null

我正在做这样的事情:SELECTdate_format(mydate,'%d/%m/%Y')FROMxyz;当mydate为NULL时,date_format返回00/00/0000。这是正确的,但是我怎样才能让它在输入为NULL时返回NULL? 最佳答案 SELECTIF(mydate,date_format(mydate,'%d/%m/%Y'),NULL)FROMxyz;来源:http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

mysql - 使用 DATE_SUB 选择小于 5 分钟的行

我有一个每分钟收到数百个请求的表。我遇到的问题是我需要一种方法来只选择过去5分钟内插入的行。我正在尝试这个:SELECTcount(id)ascount,field1,field2FROMtableWHEREtimestamp>DATE_SUB(NOW(),INTERVAL5MINUTE)ORDERBYtimestampDESC我的问题是它返回了70k+个结果并且还在增加。我不确定我做错了什么,但我很乐意在这方面得到一些帮助。此外,如果有一种方法可以按分钟对它们进行分组,使其看起来像:|count|field1|field2|----------------------------我很

mysql - 添加 DATE 和 TIME 字段以获取 MySQL 中的 DATETIME 字段

我正在尝试从DATE和TIME字段中获取DATETIME字段。MYSQL中的函数似乎都没有用。是否有人知道如何做这个或那个,如果这甚至可以做到?:) 最佳答案 应该很简单UPDATEtableSETdatetime_field=CONCAT(date_field,"",time_field); 关于mysql-添加DATE和TIME字段以获取MySQL中的DATETIME字段,我们在StackOverflow上找到一个类似的问题: https://stacko

php - last Insert Id() 如何用于没有自动递增字段的表?

对于没有自动递增字段的表,lastInsertId()如何工作?主键由2个字段组成的表呢?(我正在使用MySQL) 最佳答案 在上述两种情况下,它将返回0。当使用auto_increment列时,它会返回最后一个INSERTID,即使它已指定(即未使用自动增量)。也就是说你应该只在使用自增时使用lastInsertId。否则使用它真的没有意义,因为无论如何您都必须提前知道key.. 关于php-lastInsertId()如何用于没有自动递增字段的表?,我们在StackOverflow上

使用 LAST_INSERT_ID() 在多个表上批量插入 MySQL

我正在尝试将大量用户插入到具有两个表的MySQL数据库中:第一个表包含用户数据。INSERT的示例如下所示(id是主键,mail是唯一键):INSERTINTOusers(id,mail,name)VALUES(NULL,"foo@bar.tld","JohnSmith")ONDUPLICATEKEYUPDATEname=VALUE(name)第二个表包含用户所属的组。它只存储了两个外键users_id和groups_id。示例查询如下所示:INSERTINTOusers_groups(users_id,groups_id)VALUES(LAST_INSERT_ID(),1)此设置非常

MySQL 使用 INSERT IGNORE INTO 时如何检索 LAST_INSERT_ID 的 ID?

场景:我正在将一个CSV文件插入到我的数据库中。我正在使用jdbc驱动程序遍历文件并执行我的插入操作name列是唯一的,因此当相同的值到达时插入不会更改表我正在使用INSERTINTOIGNORE来防止事件发生时迭代中断我正在使用LAST_INSERT_ID()在下一个插入表中添加为FKINSERT_IGNORE发生时我得到0我该如何解决这个问题?Connectioncon=null;try{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection(URL,USERNAME,PASSWORD);con.