如何使用 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