首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP、Mysql中选择最后插入行

问如何在PHP、Mysql中选择最后插入行
EN

Stack Overflow用户
提问于 2014-06-30 06:35:22
回答 5查看 1.4K关注 0票数 0

我正在尝试创建像这样的ID“A1,A2,A3 .等,所以我尝试这样做

代码语言:javascript
复制
$q = mysql_query("SELECT merge_id FROM merge_info ORDER BY merge_id DESC LIMIT 1;");
$s = mysql_fetch_array($q);
$merge_id5 = $s['merge_id'];
$count2=mysql_num_rows($q);
if($count2>0)
{
    $merge_id5 = explode("A",$merge_id5);   
    $mergeid_no = $merge_id5[1]+1;  
    $merge_id6 = $mergeid_no;
}
else
{
    $merge_id6 ="1";
}
if($count<1)
{
    $merge_id = $merge_id5;
}

一切都很好..。但是在创建A9之后,它再次创建A10 --创建A10 ,而不是移动到A11,A12。等等, --我想如果我写了正确的查询来获取最后插入的行,我会修复这个问题

谁来帮帮我

代码语言:javascript
复制
db table :

merge_id  |  name |
      A1  |  xxxx |
      A2  |  yyyy |
      A3  |  zzzz |
        ....
        ....
      A9  |   sds |
      A10 |  dsfs |
EN

回答 5

Stack Overflow用户

发布于 2014-06-30 07:48:12

我知道这不是解决你问题的最好办法,但这会对你有所帮助。只需获得第一条记录,因为如果我添加LIMIT 1,则输出是错误的:

代码语言:javascript
复制
SELECT * FROM merge_info ORDER BY LENGTH(merge_id) DESC
票数 1
EN

Stack Overflow用户

发布于 2014-06-30 06:53:50

将查询更改为:-

代码语言:javascript
复制
SELECT MAX(merge_id) FROM merge_info;
票数 0
EN

Stack Overflow用户

发布于 2014-06-30 07:35:11

我认为最好使用auto_increment字段来获得带有LAST_INSERT_ID()的最后一个插入行,否则您无法确定最后一行是否是您插入的行。

再见。要使用您的解决方案,请使用以下命令。

代码语言:javascript
复制
ORDER BY SUBSTRING(merge_id,2) DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24484175

复制
相关文章

相似问题

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