gpt4 book ai didi

php - 显示错误数据的 mysql 代码问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:42 25 4
gpt4 key购买 nike

我有一个应该显示数据旧数据的 sql 代码,但问题是它显示了 unix 时间戳之后的数据。

这是我的sql代码:

SELECT p . * 
FROM posts p
LEFT JOIN following f ON f.follower_id =1
AND p.post_user_id = f.user_id
WHERE post_user_id =1
OR f.user_id IS NOT NULL
AND post_time < FROM_UNIXTIME( 1374634418 )
ORDER BY `post_id` DESC
LIMIT 10

这是我收到的 post_time: Post Times

实际上它不应该显示 2013-07-24 02:53:38 之后的日期。 FROM_UNIXTIME 中的日期是使用上一次在 php 中使用 strtotime() 查询的最后一个值生成的。

最佳答案

ANDOR 更难绑定(bind),因此您的 WHERE 条件变为;

WHERE post_user_id =1
OR (f.user_id IS NOT NULL AND post_time < FROM_UNIXTIME( 1374634418 ))

...如果 post_user_id 为 1,这很可能会返回较新的行。

您可能想添加一些括号;

WHERE (post_user_id =1 OR f.user_id IS NOT NULL)
AND post_time < FROM_UNIXTIME( 1374634418 )

关于php - 显示错误数据的 mysql 代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17911237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com