CMssqlSqlsrvPdoAdapter
包 | system.db.schema.mssql |
---|---|
继承 | class CMssqlSqlsrvPdoAdapter » PDO |
可用自 | 1.1.13 |
源码 | framework/db/schema/mssql/CMssqlSqlsrvPdoAdapter.php |
This is an extension of default PDO class for MSSQL SQLSRV driver only.
It provides workaround of the improperly implemented functionalities of PDO SQLSRV driver.
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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 |
方法详情
lastInsertId()
方法
public integer lastInsertId(string|null $sequence=NULL)
| ||
$sequence | string|null | the sequence/table name. Defaults to null. |
{return} | integer | last inserted ID value. |
源码: framework/db/schema/mssql/CMssqlSqlsrvPdoAdapter.php#33 (显示)
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.