php - 无法在 Codeigniter 中更新 RAW 查询
问题描述
我的数据库中有一些复杂的查询要更新,因此我用它$this->db->query($sql, array($userId));
来更新我的表,但表没有得到更新。
更新查询如下:
UPDATE users usr1
SET dummy_id= (SELECT concat('D',UPPER(c.flag_lang), LPAD(usr1.id , 7, 0)) new_did FROM country c,desktop d
WHERE
usr1.id=d.user_id
AND d.country_id=c.id
and user_type='dummy')
WHERE usr1.user_type='dummy' and usr1.id = ?
如果我通过 MySql 客户端执行上述相同的查询,那么我的表正在更新。
但是,如果我在活动记录中将查询写为:
$this->db->where('id', $userId);
$this->db->set('dummy_id', 'CUSTOM');
$this->db->update('users');
该表确实得到了正确更新,但是,由于查询很复杂,我必须进行 RAW 查询,但不知何故它不起作用。
请求协助。
解决方案
推荐阅读
- javascript - 标签应用程序。需要指导
- php - Laravel收到错误未定义的变量
- mysql - 关键字列中的全文搜索
- reactjs - 在传单矩形内添加文本
- python - pandaswide_to_long,id变量需要唯一标识每一行
- c# - WPF 网格白色条纹
- mongodb - 更改所有权 /data/db、输入/输出错误、Kubernetes Mongo 部署
- postgresql - 无法删除 Terraform 中包含提供程序的模块实例
- angular - Angular 6 pipe 不渲染材质图标
- json - 使用 JSON 和 AJAX 从 sharepoint 在线列表中获取“个人或组”列值