【问题标题】:How to use replace function in mysql?如何在mysql中使用替换功能?
【发布时间】:2017-09-27 05:17:47
【问题描述】:

如果列分配的字符串为 4、5、6、7,我想使用替换函数替换特定的 id。那么我该如何运行这个查询,它会显示 0 行受影响的消息。那么,我该怎么做?请帮助我。这是我的查询。

$data = array('assign' => REPLACE(assign,'$id',''),);
$where = "sub_category_name = '".$sub_category_name."'";
$this->db->where($where);
$query = $this->db->update('assign_category', $data);
echo $this->db->last_query();

谢谢

【问题讨论】:

  • 试试这个:'$id' to $id OR '".$id."'
  • 不工作@ShaunakShukla
  • echo $this->db->last_query(); 让我们知道呈现的查询是什么。我可以看到 $data = array('assign' => REPLACE(assign,'$id',''),); 有 REPLACE() 不是 codeigniter 的一部分,这就是你得到未定义错误的原因。
  • 谢谢 Shaunak Shukla 我已经解决了我的问题。谢谢大家

标签: php codeigniter mysqli


【解决方案1】:

以下代码将所有 ID(您之前分配的)替换为零长度字符串,以分配 assign_category 表的列。

$data = array('assign' => 'REPLACE(assign,' . $id . ',\' \')');
$where = "sub_category_name = '".$sub_category_name."'";
$this->db->where($where);
$query = $this->db->update('assign_category', $data);
echo $this->db->last_query();

【讨论】:

  • 如果我使用您的查询,它将更新 REPLACE(assign,' . 4 . ',\'\') 作为分配列的值。我想用空格替换 4 @zhilevan
  • @omkara 我更新了我的问题,它将 4 转换为 ' ' (space) 。试一试,告诉我结果。
【解决方案2】:

试试这样:

$data = array('assign' => '', );
$where = "assign like replace('assign'," . $id. ",'')";//Made changes here to append '$id' variable.
$this->db->where($where);
$query = $this->db->update('assign_category',$data);

【讨论】:

  • 请再次检查我的问题我正在做一些更改@Ketan Solanki
  • 当我运行这个查询时,它会显示调用未定义的函数 REPLACE()
【解决方案3】:

试试这个

$this->db->set('assign', 'REPLACE(assign, "'.$id.'", "")',false);
$this->db->where('sub_category_name',$sub_category_name);
$query = $this->db->update('assign_category');
echo $this->db->last_query();

【讨论】:

  • 请看看我的问题我已经做了一些改变@Vijay Sharma
  • 当我运行这个查询时,它会显示调用未定义的函数 REPLACE()
  • @omkara 对不起,兄弟先生病测试然后生病更新答案好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 2022-09-26
  • 2012-05-29
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多