postgresql - Codeigniter:如何在 for 循环中增加活动记录?
问题描述
我正在使用 PostgreSQL,并且我有一个表格,其中在其列中包含一年中的周数。我尝试通过在嵌套循环中增加这些列的值来更新。
我有以下查询,它试图增加记录的相关字段。
foreach ( $updateVotes as $key => $value ) {
for ( $week = 1; $week < 53 ; $week++) {
$increaseValue = $value['week_'.$week];
$this->db->set("week_".$week , "week_".$week. " +".$increaseValue, "FALSE");
}
$this->db->where('id', $id)
->update('votes');
}
为了实现我的目标,我需要如下输出:
UPDATE "votes"
SET week_1 = week_1 +20,
week_2 = week_2 +50,
...
WHERE id = 1
但是,当我运行查询时,它会生成以下 SQL:
UPDATE "votes"
SET "week_1" = 'week_1 +20',
"week_2" = 'week_2 +50',
...
WHERE id = 1
由于它还会产生单引号,因此会引发如下错误:
column 'week_1 +20' cannot found
如何转义这些单引号并成功运行查询?
解决方案
将"FALSE"中的双引号删除为FALSE
推荐阅读
- azure - centos azure vm上的neo4j连接被拒绝错误
- string - 如何检查字符串是否仅包含 Postscript 中的数字
- python - 如何在 python 中为不同的环境加载 .env 文件?
- javascript - 如何更好地使用 .flatMap()、.map() 和 .filter() 在 Javascript 中迭代和过滤嵌套数组
- amazon-web-services - Amazon Quicksight - 是否可以在 Quicksight 中调用 API?
- android - 如何将按钮添加到 Firebase 消息通知?
- python - Django - 使用 pip 安装“Bootstrap4”后,settings.py 出现语法错误
- sql - 我们如何读取 varchar 列,取出整数部分并添加新列,使用脚本递增该整数部分
- spring-batch - 如果 Spring Batch 出错,如何退出 tasklet?
- reactjs - 如何将道具传递给在 React 中作为道具传递的组件?