我有一个有趣图片的数据库,但是这个问题涉及到所有有发布日期的东西。如果我要更新一个页面,我首先要检查是否有今天设置的条目,如果没有,我会选择数据库中最长的条目,如:
$result=mysql_query("SELECT * FROM amazingjokes.img WHERE listed=CURDATE()");
if(!mysql_num_rows($result)){
$result=mysql_query("SELECT * FROM amazingjokes.img WHERE isnull(listed)
ORDER BY added ASC");
$row=mysql_fetch_array($result);
$mysql_query("UPDATE amazingjokes.img SET listed=CURDATE()
WHERE id=$row[id]");
}
基本上这就是“获取今天的图像,并在没有图像的情况下选择最长的待处理图像”。是否可以在一个查询中执行此操作?如何执行此操作?
最佳答案
你可以试试这样的方法:
update amazingjokes.img
set listed=curdate()
where
id IN (
select
id
from
amazingjokes.img
where
isnull(listed)
order by
added asc
)
要替换“孔3”查询,可以尝试:
update amazingjokes.img
set listed=curdate()
where
id IN (
select
id
from
amazingjokes.img
where
listed=curdate()
order by
added asc
)
AND (
select
count(*)
from
amazingjokes.img
where
listed=curdate()
) = 0
关于mysql - MySQL中的条件集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17421305/