首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP使用数据库中的最新版本

PHP使用数据库中的最新版本
EN

Stack Overflow用户
提问于 2018-06-08 04:18:34
回答 2查看 17关注 0票数 0

我的数据库中有一个名为revision的值,当存在重复条目时,该值会增加。

我正在尝试在我的数据库中选择最新的版本。示例:

代码语言:javascript
复制
|-----------------------------|
| Title            | Revision |
|-----------------------------|
| Some title 1     | 0        |
| Some title 1     | 1        |
| Some title 1     | 2        | <-- select this one
|-----------------------------|

这是我的查询(例如,我知道最后一个参数将失败):

代码语言:javascript
复制
$titlecheck = $this->query("SELECT * FROM titles WHERE tmdb_name=:name AND tmdb_titleid=:skuid AND revision=:revision");
if($titlecheck->execute(array(":name" => $api[1]['tmdb']['name'], ":skuid" => $api[1]['tmdb']['titleid'], ':revision'=>LARGEST))) {
    // do something
}

如何选择最新的修订号?我已经研究了MAX(),但是因为我需要从数据库中选择全部,所以我不能使用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-08 04:22:27

您需要使用ORDER来确保返回行的特定顺序。否则,您可能会以随机顺序获取它:

代码语言:javascript
复制
SELECT * FROM titles 
WHERE tmdb_name=:name AND tmdb_titleid=:skuid
ORDER BY revision DESC

那么第一行将是具有最高修订版的那一行。如果需要的话,可以在查询的末尾使用LIMIT 1,并确保revision列有索引。

票数 1
EN

Stack Overflow用户

发布于 2018-06-08 04:24:38

如果需要最新的修订版,请不要传递参数修订版

代码语言:javascript
复制
SELECT * FROM titles WHERE tmdb_name=:name AND tmdb_titleid=:skuid
order by revision desc limit 1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档