Package | system.db.schema.mssql |
---|---|
Inheritance | class CMssqlSqlsrvPdoAdapter » PDO |
Since | 1.1.13 |
Source Code | framework/db/schema/mssql/CMssqlSqlsrvPdoAdapter.php |
Method | Description | Defined By |
---|---|---|
__construct() | PDO | |
__sleep() | PDO | |
__wakeup() | PDO | |
beginTransaction() | PDO | |
commit() | PDO | |
errorCode() | PDO | |
errorInfo() | PDO | |
exec() | PDO | |
getAttribute() | PDO | |
getAvailableDrivers() | PDO | |
inTransaction() | PDO | |
lastInsertId() | Returns last inserted ID value. | CMssqlSqlsrvPdoAdapter |
prepare() | PDO | |
query() | PDO | |
quote() | PDO | |
rollBack() | PDO | |
setAttribute() | PDO |
public integer lastInsertId(string|null $sequence=NULL)
| ||
$sequence | string|null | the sequence/table name. Defaults to null. |
{return} | integer | last inserted ID value. |
public function lastInsertId($sequence=null)
{
$parts = explode('.', phpversion('pdo_sqlsrv'));
$sqlsrvVer = phpversion('pdo_sqlsrv') ? intval(array_shift($parts)) : 0;
if(!$sequence || $sqlsrvVer >= 5)
return parent::lastInsertId();
return parent::lastInsertId($sequence);
}
Returns last inserted ID value. Before version 5.0, the SQLSRV driver supports PDO::lastInsertId() with one peculiarity: when $sequence's value is null or empty string it returns empty string. But when parameter is not specified at all it's working as expected and returns actual last inserted ID (like other PDO drivers). Version 5.0 of the Microsoft PHP Drivers for SQL Server changes the behaviour of PDO::lastInsertID to be consistent with the behaviour outlined in the PDO documentation. It returns the ID of the last inserted sequence or row.
Signup or Login in order to comment.