我可以在插入时比较php日期和mysql日期吗?
这是我从php页面插入mysql的工作查询:我可以在插入时比较php日期和mysql日期吗?,php,mysql,date,insert,Php,Mysql,Date,Insert,这是我从php页面插入mysql的工作查询: $query = "INSERT INTO postings (title, description, timeStamp) VALUES ( '$title', '$description', STR_TO_DATE('$date', '%a, %d %M %Y %H:%i:%s'))"; 我希望现在只在$date大于mysql.timeStamp(时间戳类型)中最近的日期时插入 我能做这个吗?我尝试了以下方法: $query = "INSERT
$query = "INSERT INTO postings (title, description, timeStamp) VALUES ( '$title', '$description', STR_TO_DATE('$date', '%a, %d %M %Y %H:%i:%s'))";
我希望现在只在$date大于mysql.timeStamp(时间戳类型)中最近的日期时插入
我能做这个吗?我尝试了以下方法:
$query = "INSERT INTO postings (title, description, timeStamp) VALUES ( '$title', '$description', STR_TO_DATE('$date', '%a, %d %M %Y %H:%i:%s')) where STR_TO_DATE('$date', '%a, %d %M %Y %H:%i:%s') > timeStamp";
1) 我可以将php页面上的日期与insert上的mysql日期进行比较吗?2) 如果是的话。。。我如何完成此查询并使“>timeStamp”只计算表中最近的日期(假设我的where子句的其余部分有效) 我认为在插入行之前,最好先运行一个查询,检查表中是否有时间戳更高的帖子。您可以使用此查询执行此操作:
$query = "SELECT 1 FROM postings
WHERE STR_TO_DATE('$date', '%a, %d %M %Y %H:%i:%s') < timeStamp
LIMIT 1";
$query=“从帖子中选择1
其中STR_TO_DATE('$DATE','%a,%d%M%Y%H:%i:%s')<时间戳
限制1”;
如果没有返回结果,您可以正常插入帖子。1)不,您不能。你可以检查一下sintax
您可以使用事务来避免@rabusmar解决方案的并发,请检查一些示例
您也可以使用存储过程,但它比事务更复杂,并且具有相同的结果。如果您使用unix时间戳,您尝试执行的操作将更加简单/高效。至少在这种情况下。比较int值比转换字符串更容易。好主意!我沿着这条路走。谢谢我试图用下面的语句来包围我的正常insert语句。我有一个我知道应该是真的结果。。但没有插入任何内容。知道我做错了什么吗?
$querycheck=“从帖子中选择1,其中city=$city和STR_TO_DATE(“$DATE”,“%a,%d%m%Y%H:%I:%s”)>时间戳限制1”;如果($querycheck==true){my original insert statement here}