Pages

2010年4月6日火曜日

PDO_ODBC + SQL Server でInsertしたシーケンスIDが取得できない

PDO_ODBCには「PDO::lastInsertId」というものが用意されているが、ドライバーが対応していないというエラーで利用する事ができなかった。。。
http://www.php.net/manual/ja/pdo.lastinsertid.php

そこでZend_Frameworkの中でZend_Db_Adpter_Pdo_Mssqlで記述されていた、

public function lastInsertId($tableName = null, $primaryKey = null)
{
    $sql = 'SELECT SCOPE_IDENTITY()';
    return (int)$this->fetchOne($sql);
}

を試してみた。

しかし、取得されるのは常に0。。。
なぜ。。。

どうしようもないし、Zend_Db_Adpter_Pdo_Mssqlだとうまく取得できるのでそこだけ一先ず、Zend_Db_Adpter_Pdo_Mssqlを利用するようにした。。。

0 件のコメント:

コメントを投稿

Followers