我正在使用 PHP 和 Zend 框架创建一个网站。我正在使用 sqlsrv 适配器与我的数据库通信。我正在尝试编写插入查询并存储新行的 ID。我写了一个这样的 SQL 查询:
$db = Zend_Db_Table::getDefaultAdapter();
$id = $db->fetchOne("
INSERT INTO MyTable
(Title, CreatedBy, Created, LastUpdatedBy, LastUpdated)
SELECT 'MY Title',
UserTable.UserId,
CONVERT(datetime, '".$this->details["Created"]."', 120),
UserTable.UserId,
CONVERT(datetime, '".$this->details["LastUpdated"]."', 120)
FROM UserTable
WHERE UserName = '".$this->details["CreatedBy"]."'
SELECT CAST(SCOPE_IDENTITY() AS int) AS Id"
);
但它会产生此错误:
'Zend_Db_Statement_Sqlsrv_Exception' with message 'The active result for the query contains no fields.
如何避免此错误并运行此查询并检索插入的行 ID?