插入in Kohana 3

时间:2010-11-22 22:01:44

标签: kohana lastinsertid insert-id

我正在使用Kohana 3框架和Mysql存储过程。如何获取最后插入记录的ID? 这是代码:

class Model_MyModel extends Kohana_Model
{
    public function insertNew($param1, $param2)
    {
        $result = $this->_db->query(Database::INSERT, 'CALL insertNew('.$param1.', '.$param2.', false)';
        return $result;
    }
    ...
    ...
}

文档说,在执行插入查询时,query()方法返回一个包含最后一个插入ID和受影响的行号的数组。当我打电话:print_r($ result) 我越来越: 排列 (     [0] => 0     [1] => 1 ) insert_id键为0,但我在db中有很多记录。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为在使用过程插入后你将不得不使用SQL LAST_INSERT_ID()

SELECT LAST_INSERT_ID() as last_insert_id FROM table_name

(在你的程序中最后定义这个查询)。

这种情况下的问题是Kohana会自动返回mysql_insert_id和mysql_affected_rows作为Database :: INSERT的结果,因此您需要将该过程作为SELECT查询调用并获取它(Database :: SELECT)。