当前位置: 首页 > 知识库问答 >
问题:

我似乎无法从MySQL获取最后插入的记录/id

周健
2023-03-14

我有个问题。我似乎无法从MySQL数据库/表中获取最后插入的记录/id。我想从“tag_id”列返回最后一个插入的id,但我没有得到任何返回。顺便说一下,我正在使用DBO。我尝试了“mysql\u insert\u id”和“lastInsertId”,但没有成功。

我的数据库表看起来像这样:

表名:gitags_标签

  tag_id  |  name  
----------+---------
   437    |  2011
   438    |  2012
   439    |  2013
   440    |  new

我的PHP如下所示(在本例中,我希望返回'440'):

/*
* Insert the new tagname in the database in the table 'gitags_tags'
*/
$query = "INSERT INTO gitags_tags (`name`) VALUES ('".$new_tagname."')";
$db->setQuery($query);

if (!$db->query()) {
    echo "Something went wrong \n";
    echo $query . "\n";
    exit;
}

// Neither of these two work ...
echo mysql_insert_id();
echo $db->lastInsertId('tag_id');

非常感谢您的帮助。

共有3个答案

班景龙
2023-03-14

它应该通过使用DESC和LIMIT回显一个新的SQL查询来工作。这样地:

SELECT tag_id FROM gitags_tags ORDER BY tag_id  DESC LIMIT 1
薛博艺
2023-03-14

要获取最后插入的记录,可以使用以下命令:

$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select($db->quoteName('tag_id'))
 ->from($db->quoteName('gitags_tags'))
 ->order($db->quoteName('tag_id') . ' DESC');

$db->setQuery($query);
$result = $db->loadResult();

echo $result;
谢正初
2023-03-14

您使用的Joomla DB函数无效,请使用echo$DB-

 类似资料:
  • 问题内容: 我使用以下查询将多个记录插入到表中: 由于查询要插入多个记录,因此无法使用 SCOPE_IDENTITY 来检索PK。有什么方法可以获取最近插入记录的ID? 问题答案: SCOPE_IDENTITY()将正确为您提供LAST ID。您需要将其与@@ Rowcount结合使用,以提供ID范围。 正如其他Richard指出的那样 ,这仅在您将增量设置为1时有效 例如: 执行此操作的另一种方

  • 问题内容: 我正在使用mysql并遇到一些问题。我想检索插入的最后一行。 <<以下是详细>> 以下是我创建表格的方式。 我在其中插入了四个值,如下所示 当我执行时,我得到如下输出 当我尝试下面的代码时, 我得到如下输出。 但是,当我使用代码时,出现错误 使用时,表中没有任何数据。 链接以播放数据 注意: 这里我使用4只是为了获得所需的输出。稍后我可以从查询中获取 如果我只想查看最后一条记录,请建议

  • 问题内容: 我是mybatis的新手。我正在尝试获取最后插入的记录的ID。我的数据库是mysql而我的映射器xml是 我认为在这里写的语句“ SELECT LAST_INSERT_ID()as id”应该返回最后插入的记录的id,但是插入记录后我总是得到1。 我的mapper.java类有方法 在我的课堂上,我正在使用 int id = fileAttachmentMapper.insertSel

  • 我有一个简单的web应用程序,我从应用程序的前端获取json。我有一个对象,它包含很少的属性和一个对象数组。 它看起来像这样: 我通过使用。我用向我的PHP-Laravel后端发送了一个请求,我想对它进行解析。 这就是我所拥有的: 我尝试像这样获取json数据: 但它就是不起作用。我总是遇到一个错误,我试图访问对象上的,但它不存在。我也试过这样做: 但是我也有同样的问题。我做错了什么,我看到了关于

  • 问题内容: 在下表中,如何仅根据登录列获取的 最新记录 ,而不是所有3条记录? 问题答案: 使用按ID分组的汇总。这将列出每个最新的。 要获取完整的单个记录,请对仅返回每个ID 的子查询执行。

  • 问题内容: 我有一个插入查询(活动记录样式),用于将表单字段插入到MySQL表中。我想获取插入操作的最后一个自动递增的ID作为查询的返回值,但是我有一些问题。 控制器内部: 而内部模型: 作为模型中add_post的返回,我一无所获 问题答案: 尝试这个 如果有多次插入,您可以使用