如何使用 CodeIgniter querybuilder 将数据插入 MSSQL (newid() )
How use CodeIgniter querybuilder with inserting data to MSSQL (newid() )
对于 id,我使用 uniqueidentyfier,在查询中插入我写:newid(),但是,如何在查询生成器中做到这一点?
{
$db = \Config\Database::connect();
$data = [
'id' => 'newid()',
'id_zgloszenia' => $idpp,
'response' => $response_pp,
'header_response' => $head_res,
'data_datetime' => 'getdate()',
];
$builder = $db->table('DOM5_PP_LOGI');
$builder->insert($data);
}
我像上面那样尝试,还有:$builder->set('id', uniqid());
但是我有错误:
[Microsoft][SQL 服务器的 ODBC 驱动程序 17][SQL 服务器]从字符串转换为唯一标识符时转换失败。
你可以尝试通过 MSSQL 生成 UUID:
$builder->set('id', 'NEWID()', FALSE);
说明:set()
还将接受可选的第三个参数 ($escape
),如果设置为 FALSE
,它将防止数据被转义。为了说明差异,这里使用了带和不带转义参数的 set()
。
您可以在这里找到更多信息:https://codeigniter.com/userguide3/database/query_builder.html#id8
对于 id,我使用 uniqueidentyfier,在查询中插入我写:newid(),但是,如何在查询生成器中做到这一点?
{
$db = \Config\Database::connect();
$data = [
'id' => 'newid()',
'id_zgloszenia' => $idpp,
'response' => $response_pp,
'header_response' => $head_res,
'data_datetime' => 'getdate()',
];
$builder = $db->table('DOM5_PP_LOGI');
$builder->insert($data);
}
我像上面那样尝试,还有:$builder->set('id', uniqid());
但是我有错误: [Microsoft][SQL 服务器的 ODBC 驱动程序 17][SQL 服务器]从字符串转换为唯一标识符时转换失败。
你可以尝试通过 MSSQL 生成 UUID:
$builder->set('id', 'NEWID()', FALSE);
说明:set()
还将接受可选的第三个参数 ($escape
),如果设置为 FALSE
,它将防止数据被转义。为了说明差异,这里使用了带和不带转义参数的 set()
。
您可以在这里找到更多信息:https://codeigniter.com/userguide3/database/query_builder.html#id8